55 files changed, 730 insertions, 240 deletions
diff --git a/qmake/include/private/qapplication_p.h b/qmake/include/private/qapplication_p.h index 6fab6b3..280992e 100644 --- a/qmake/include/private/qapplication_p.h +++ b/qmake/include/private/qapplication_p.h @@ -75,2 +75,4 @@ extern QClipboard *qt_clipboard; extern Qt::WindowsVersion qt_winver; +#elif defined (Q_OS_MAC) +extern Qt::MacintoshVersion qt_macver; #endif @@ -83,4 +85,3 @@ extern int qt_ncols_option; extern void qt_dispatchEnterLeave( QWidget*, QWidget* ); - - +extern bool qt_tryModalHelper( QWidget *, QWidget ** = 0 ); diff --git a/qmake/include/private/qcom_p.h b/qmake/include/private/qcom_p.h index 6e7e1c8..5bed8c8c 100644 --- a/qmake/include/private/qcom_p.h +++ b/qmake/include/private/qcom_p.h @@ -35,4 +35,4 @@ -#ifndef QCOM_H -#define QCOM_H +#ifndef QCOM_P_H +#define QCOM_P_H @@ -336,2 +336,2 @@ public: \ -#endif //QCOM_H +#endif //QCOM_P_H diff --git a/qmake/include/private/qcomlibrary_p.h b/qmake/include/private/qcomlibrary_p.h index f52f679..3f440c0 100644 --- a/qmake/include/private/qcomlibrary_p.h +++ b/qmake/include/private/qcomlibrary_p.h @@ -35,4 +35,4 @@ -#ifndef QUCOMLIBRARY_H -#define QUCOMLIBRARY_H +#ifndef QCOMLIBRARY_P_H +#define QCOMLIBRARY_P_H @@ -78,2 +78,2 @@ private: -#endif // QUCOMLIBRARY_H +#endif diff --git a/qmake/include/private/qcomplextext_p.h b/qmake/include/private/qcomplextext_p.h index 2132522..c3aeeb1 100644 --- a/qmake/include/private/qcomplextext_p.h +++ b/qmake/include/private/qcomplextext_p.h @@ -5,5 +5,3 @@ ** -** Created : -** -** Copyright (C) 2001 Trolltech AS. All rights reserved. +** Copyright (C) 2001-2002 Trolltech AS. All rights reserved. ** @@ -37,4 +35,4 @@ -#ifndef QCOMPLEXTEXT_H -#define QCOMPLEXTEXT_H +#ifndef QCOMPLEXTEXT_P_H +#define QCOMPLEXTEXT_P_H diff --git a/qmake/include/private/qcomponentfactory_p.h b/qmake/include/private/qcomponentfactory_p.h index 1ac973f..d5c1743 100644 --- a/qmake/include/private/qcomponentfactory_p.h +++ b/qmake/include/private/qcomponentfactory_p.h @@ -37,4 +37,4 @@ -#ifndef QCOMPONENTFACTORY_H -#define QCOMPONENTFACTORY_H +#ifndef QCOMPONENTFACTORY_P_H +#define QCOMPONENTFACTORY_P_H @@ -72,2 +72,2 @@ public: -#endif // QCOMPONENTFACTORY_H +#endif // QCOMPONENTFACTORY_P_H diff --git a/qmake/include/private/qcriticalsection_p.h b/qmake/include/private/qcriticalsection_p.h index 7d9feca..8dacc62 100644 --- a/qmake/include/private/qcriticalsection_p.h +++ b/qmake/include/private/qcriticalsection_p.h @@ -35,4 +35,4 @@ -#ifndef QCRITICALSECTION_H -#define QCRITICALSECTION_H +#ifndef QCRITICALSECTION_P_H +#define QCRITICALSECTION_P_H diff --git a/qmake/include/private/qdir_p.h b/qmake/include/private/qdir_p.h index 35dba28..a6c7c91 100644 --- a/qmake/include/private/qdir_p.h +++ b/qmake/include/private/qdir_p.h @@ -5,3 +5,3 @@ ** -** Created : 2000.11.06 +** Created : 001106 ** @@ -40,3 +40,2 @@ - // @@ -55,6 +54,8 @@ #ifndef QT_H +#include "qregexp.h" +#include "qvaluelist.h" #endif // QT_H -extern QStringList qt_makeFilterList( const QString & ); - +extern QValueList<QRegExp> qt_makeFilterList( const QString & ); +extern bool qt_matchFilterList( const QValueList<QRegExp> &, const QString & ); diff --git a/qmake/include/private/qeffects_p.h b/qmake/include/private/qeffects_p.h index 4178b6f..3b6c212 100644 --- a/qmake/include/private/qeffects_p.h +++ b/qmake/include/private/qeffects_p.h @@ -5,3 +5,3 @@ ** -** Created : 2000.06.21 +** Created : 000621 ** diff --git a/qmake/include/private/qeventloop_p.h b/qmake/include/private/qeventloop_p.h index b64d0df..3a5350e 100644 --- a/qmake/include/private/qeventloop_p.h +++ b/qmake/include/private/qeventloop_p.h @@ -1 +1,31 @@ +/**************************************************************************** +** $Id$ +** +** Definition of QEventLoop class +** +** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. +** +** This file is part of the kernel module of the Qt GUI Toolkit. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition +** licenses for Qt/Embedded may use this file in accordance with the +** Qt Embedded Commercial License Agreement provided with the Software. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + #ifndef QEVENTLOOP_P_H @@ -3,3 +33,21 @@ +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// + #include "qplatformdefs.h" + +// SCO OpenServer redefines raise -> kill +#if defined(raise) +# undef raise +#endif + #include "qwindowdefs.h" @@ -8,5 +56,7 @@ class QSocketNotifier; -#if defined(Q_OS_UNIX) +#if defined(Q_OS_UNIX) || defined (Q_WS_WIN) #include <qptrlist.h> +#endif // Q_OS_UNIX || Q_WS_WIN +#if defined(Q_OS_UNIX) struct QSockNot @@ -32,2 +82,8 @@ public: +#if defined(Q_WS_WIN) +struct QSockNot { + QSocketNotifier *obj; + int fd; +}; +#endif // Q_WS_WIN @@ -46,2 +102,3 @@ public: exitloop = FALSE; + shortcut = FALSE; } @@ -50,4 +107,5 @@ public: int quitcode; - bool quitnow; - bool exitloop; + unsigned int quitnow : 1; + unsigned int exitloop : 1; + unsigned int shortcut : 1; @@ -71,2 +129,8 @@ public: #endif + +#ifdef Q_WS_WIN + // pending socket notifiers list + QPtrList<QSockNot> sn_pending_list; +#endif // Q_WS_WIN + }; diff --git a/qmake/include/private/qfontcodecs_p.h b/qmake/include/private/qfontcodecs_p.h index 8222f98..54b0ac1 100644 --- a/qmake/include/private/qfontcodecs_p.h +++ b/qmake/include/private/qfontcodecs_p.h @@ -53,4 +53,4 @@ #ifndef QT_H -#include <qglobal.h> -#include <qtextcodec.h> +#include "qglobal.h" +#include "qtextcodec.h" #endif // QT_H diff --git a/qmake/include/private/qfontdata_p.h b/qmake/include/private/qfontdata_p.h index 917d14f..1eaf80c 100644 --- a/qmake/include/private/qfontdata_p.h +++ b/qmake/include/private/qfontdata_p.h @@ -164,2 +164,3 @@ public: uint paintDevice:1; + uint useTextOutA:1; union { @@ -415,3 +416,3 @@ public: void macSetFont(QPaintDevice *); - void drawText(int x, int y, QString s, int len, QPaintDevice *dev, const QRegion *rgn); + void drawText(int x, int y, const QString &s, int from, int len, QPaintDevice *dev, const QRegion *rgn, int dir); void computeLineWidth(); diff --git a/qmake/include/private/qgfxdriverinterface_p.h b/qmake/include/private/qgfxdriverinterface_p.h index 1782ed4..e8259ac 100644 --- a/qmake/include/private/qgfxdriverinterface_p.h +++ b/qmake/include/private/qgfxdriverinterface_p.h @@ -32,4 +32,16 @@ -#ifndef QGFXDRIVERINTERFACE_H -#define QGFXDRIVERINTERFACE_H +#ifndef QGFXDRIVERINTERFACE_P_H +#define QGFXDRIVERINTERFACE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// @@ -55,2 +67,2 @@ struct Q_EXPORT QGfxDriverInterface : public QFeatureListInterface -#endif // QGFXDRIVERINTERFACE_H +#endif // QGFXDRIVERINTERFACE_P_H diff --git a/qmake/include/private/qgpluginmanager_p.h b/qmake/include/private/qgpluginmanager_p.h index e0c0e78..2e4e9c5 100644 --- a/qmake/include/private/qgpluginmanager_p.h +++ b/qmake/include/private/qgpluginmanager_p.h @@ -5,3 +5,3 @@ ** -** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** @@ -35,4 +35,4 @@ -#ifndef QGPLUGINMANAGER_H -#define QGPLUGINMANAGER_H +#ifndef QGPLUGINMANAGER_P_H +#define QGPLUGINMANAGER_P_H @@ -106,2 +106,2 @@ inline bool QGPluginManager::autoUnload() const -#endif //QGPLUGINMANAGER_H +#endif //QGPLUGINMANAGER_P_H diff --git a/qmake/include/private/qimageformatinterface_p.h b/qmake/include/private/qimageformatinterface_p.h index 5f7601c..fd4c256 100644 --- a/qmake/include/private/qimageformatinterface_p.h +++ b/qmake/include/private/qimageformatinterface_p.h @@ -3,3 +3,3 @@ ** -** Definition of ??? +** ... ** @@ -35,4 +35,4 @@ -#ifndef QIMAGEFORMATINTERFACE_H -#define QIMAGEFORMATINTERFACE_H +#ifndef QIMAGEFORMATINTERFACE_P_H +#define QIMAGEFORMATINTERFACE_P_H @@ -74,2 +74,2 @@ struct Q_EXPORT QImageFormatInterface : public QFeatureListInterface -#endif // QIMAGEFORMATINTERFACE_H +#endif // QIMAGEFORMATINTERFACE_P_H diff --git a/qmake/include/private/qinputcontext_p.h b/qmake/include/private/qinputcontext_p.h index 9ac0d2b..4d94147 100644 --- a/qmake/include/private/qinputcontext_p.h +++ b/qmake/include/private/qinputcontext_p.h @@ -89,3 +89,3 @@ public: void *ic; - QString text, lastcompose; + QString text; QWidget *focusWidget; @@ -117,2 +117,5 @@ private: static bool composition( LPARAM lparam ); + + static void accept( QWidget *fw = 0 ); + static void enable( bool ); #endif diff --git a/qmake/include/private/qkbddriverinterface_p.h b/qmake/include/private/qkbddriverinterface_p.h index efc7ded..fe13487 100644 --- a/qmake/include/private/qkbddriverinterface_p.h +++ b/qmake/include/private/qkbddriverinterface_p.h @@ -32,4 +32,16 @@ -#ifndef QKBDDRIVERINTERFACE_H -#define QKBDDRIVERINTERFACE_H +#ifndef QKBDDRIVERINTERFACE_P_H +#define QKBDDRIVERINTERFACE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// @@ -55,2 +67,2 @@ struct Q_EXPORT QKbdDriverInterface : public QFeatureListInterface -#endif // QKBDDRIVERINTERFACE_H +#endif // QKBDDRIVERINTERFACE_P_H diff --git a/qmake/include/private/qlibrary_p.h b/qmake/include/private/qlibrary_p.h index c4dd565..1624ca5 100644 --- a/qmake/include/private/qlibrary_p.h +++ b/qmake/include/private/qlibrary_p.h @@ -5,3 +5,3 @@ ** -** Created : 2000-01-01 +** Created : 000101 ** @@ -57,5 +57,2 @@ #ifndef QT_H -#if defined(Q_CC_GNU) -#warning "avoid including header file \"qwindowdefs.h\" in directory 'tools'" -#endif #include "qwindowdefs.h" diff --git a/qmake/include/private/qlock_p.h b/qmake/include/private/qlock_p.h new file mode 100644 index 0000000..5c261aa --- a/dev/null +++ b/qmake/include/private/qlock_p.h @@ -0,0 +1,93 @@ +/**************************************************************************** +** $Id$ +** +** Definition of QLock class. This manages interprocess locking +** +** Created : 20000406 +** +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** +** This file is part of the kernel module of the Qt GUI Toolkit. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition +** licenses for Qt/Embedded may use this file in accordance with the +** Qt Embedded Commercial License Agreement provided with the Software. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#ifndef QLOCK_P_H +#define QLOCK_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// + +#ifndef QT_H +#include <qstring.h> +#endif // QT_H + +class QLockData; + +class QLock +{ +public: + QLock( const QString &filename, char id, bool create = FALSE ); + ~QLock(); + + enum Type { Read, Write }; + + bool isValid() const; + void lock( Type type ); + void unlock(); + bool locked() const; + +private: + Type type; + QLockData *data; +}; + + +// Nice class for ensuring the lock is released. +// Just create one on the stack and the lock is automatically released +// when QLockHolder is destructed. +class QLockHolder +{ +public: + QLockHolder( QLock *l, QLock::Type type ) : qlock(l) { + qlock->lock( type ); + } + ~QLockHolder() { if ( locked() ) qlock->unlock(); } + + void lock( QLock::Type type ) { qlock->lock( type ); } + void unlock() { qlock->unlock(); } + bool locked() const { return qlock->locked(); } + +private: + QLock *qlock; +}; + +#endif + diff --git a/qmake/include/private/qmousedriverinterface_p.h b/qmake/include/private/qmousedriverinterface_p.h index fd76308..42a2e3e 100644 --- a/qmake/include/private/qmousedriverinterface_p.h +++ b/qmake/include/private/qmousedriverinterface_p.h @@ -32,4 +32,16 @@ -#ifndef QMOUSEDRIVERINTERFACE_H -#define QMOUSEDRIVERINTERFACE_H +#ifndef QMOUSEDRIVERINTERFACE_P_H +#define QMOUSEDRIVERINTERFACE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// @@ -55,2 +67,2 @@ struct Q_EXPORT QMouseDriverInterface : public QFeatureListInterface -#endif // QMOUSEDRIVERINTERFACE_H +#endif // QMOUSEDRIVERINTERFACE_P_H diff --git a/qmake/include/private/qmutexpool_p.h b/qmake/include/private/qmutexpool_p.h index 3d9fef7..fb84157 100644 --- a/qmake/include/private/qmutexpool_p.h +++ b/qmake/include/private/qmutexpool_p.h @@ -1,3 +1,38 @@ -#ifndef QMUTEXPOOL_H -#define QMUTEXPOOL_H +/**************************************************************************** +** $Id$ +** +** ... +** +** Copyright (C) 2002 Trolltech AS. All rights reserved. +** +** This file is part of the tools module of the Qt GUI Toolkit. +** +** This file may be distributed under the terms of the Q Public License +** as defined by Trolltech AS of Norway and appearing in the file +** LICENSE.QPL included in the packaging of this file. +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition +** licenses may use this file in accordance with the Qt Commercial License +** Agreement provided with the Software. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** See http://www.trolltech.com/qpl/ for QPL licensing information. +** See http://www.trolltech.com/gpl/ for GPL licensing information. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#ifndef QMUTEXPOOL_P_H +#define QMUTEXPOOL_P_H @@ -30,3 +65,4 @@ private: QMutex mutex; - QMemArray<QMutex*> mutexes; + QMutex **mutexes; + int count; bool recurs; @@ -38,2 +74,2 @@ extern QMutexPool *qt_global_mutexpool; -#endif // QMUTEXPOOL_H +#endif // QMUTEXPOOL_P_H diff --git a/qmake/include/private/qpluginmanager_p.h b/qmake/include/private/qpluginmanager_p.h index 4b64ba0..a8da10e 100644 --- a/qmake/include/private/qpluginmanager_p.h +++ b/qmake/include/private/qpluginmanager_p.h @@ -5,3 +5,3 @@ ** -** Created : 2000-01-01 +** Created : 000101 ** @@ -37,8 +37,4 @@ -#ifndef QPLUGINMANAGER_H -#define QPLUGINMANAGER_H - -#ifndef QT_H -#include "qgpluginmanager_p.h" -#endif // QT_H +#ifndef QPLUGINMANAGER_P_H +#define QPLUGINMANAGER_P_H @@ -56,2 +52,6 @@ +#ifndef QT_H +#include "qgpluginmanager_p.h" +#endif // QT_H + #ifndef QT_NO_COMPONENT @@ -72,2 +72,2 @@ public: -#endif //QPLUGINMANAGER_H +#endif //QPLUGINMANAGER_P_H diff --git a/qmake/include/private/qpsprinter_p.h b/qmake/include/private/qpsprinter_p.h index 27a4968..692cb44 100644 --- a/qmake/include/private/qpsprinter_p.h +++ b/qmake/include/private/qpsprinter_p.h @@ -8,3 +8,3 @@ ** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. ** @@ -63,3 +63,3 @@ -struct QPSPrinterPrivate; +class QPSPrinterPrivate; diff --git a/qmake/include/private/qrichtext_p.h b/qmake/include/private/qrichtext_p.h index 8e29804..9ed87cf 100644 --- a/qmake/include/private/qrichtext_p.h +++ b/qmake/include/private/qrichtext_p.h @@ -158,2 +158,4 @@ private: } + QTextStringChar( const QTextStringChar & ) { + } friend class QComplexText; @@ -176,4 +178,4 @@ public: - static QString toString( const QMemArray<QTextStringChar> &data ); - QString toString() const; + static QString toString( const QMemArray<QTextStringChar> &data, bool fixspaces = TRUE ); + QString toString( bool fixspaces = TRUE ) const; @@ -288,4 +290,4 @@ public: void gotoPageDown( int visibleHeight ); - void gotoNextWord(); - void gotoPreviousWord(); + void gotoNextWord( bool onlySpace = FALSE ); + void gotoPreviousWord( bool onlySpace = FALSE ); void gotoWordLeft(); @@ -328,3 +330,3 @@ private: void pop(); - void processNesting( Operation op ); + bool processNesting( Operation op ); void invalidateNested(); @@ -705,2 +707,3 @@ struct Q_EXPORT QTextDocumentSelection bool swapped; + Q_DUMMY_COMPARISON_OPERATOR(QTextDocumentSelection) }; @@ -841,2 +844,5 @@ public: void draw( QPainter *p, const QRect& rect, const QColorGroup &cg, const QBrush *paper = 0 ); + void eraseParagraphEmptyArea( QTextParagraph *parag, QPainter *p, const QColorGroup &cg ); + bool useDoubleBuffer( QTextParagraph *parag, QPainter *p ); + void drawParagraph( QPainter *p, QTextParagraph *parag, int cx, int cy, int cw, int ch, @@ -1069,2 +1075,3 @@ struct Q_EXPORT QTextParagraphSelection int start, end; + Q_DUMMY_COMPARISON_OPERATOR(QTextParagraphSelection) }; @@ -1138,15 +1145,6 @@ public: -class Q_EXPORT QTextParagraphPseudoDocument -{ -public: - QTextParagraphPseudoDocument(); - ~QTextParagraphPseudoDocument(); - QRect docRect; - QTextFormatter *pFormatter; - QTextCommandHistory *commandHistory; - int minw; - int wused; -}; +class QTextParagraphPseudoDocument; + +class QSyntaxHighlighter; -//nase class Q_EXPORT QTextParagraph @@ -1155,2 +1153,3 @@ class Q_EXPORT QTextParagraph friend class QTextCursor; + friend class QSyntaxHighlighter; @@ -1178,3 +1177,9 @@ public: +#if defined(Q_STRICT_INLINING_RULES) + // This is for the IRIX MIPSpro o32 ABI - it fails, claiming the + // implementation to be a redefinition. + inline QTextDocument *document() const; +#else QTextDocument *document() const; +#endif QTextParagraphPseudoDocument *pseudoDocument() const; @@ -1598,3 +1603,2 @@ public: void updateDefaultFormat( const QFont &font, const QColor &c, QStyleSheet *sheet ); - QDict<QTextFormat> dict() const { return cKey; } @@ -1618,2 +1622,15 @@ private: +class Q_EXPORT QTextParagraphPseudoDocument +{ +public: + QTextParagraphPseudoDocument(); + ~QTextParagraphPseudoDocument(); + QRect docRect; + QTextFormatter *pFormatter; + QTextCommandHistory *commandHistory; + int minw; + int wused; + QTextFormatCollection collection; +}; + // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -1830,2 +1847,8 @@ inline void QTextDocument::takeFlow() +inline bool QTextDocument::useDoubleBuffer( QTextParagraph *parag, QPainter *p ) +{ + return ( !parag->document()->parent() || parag->document()->nextDoubleBuffered ) && + ( !p || !p->device() || p->device()->devType() != QInternal::Printer ); +} + // +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ diff --git a/qmake/include/private/qsettings_p.h b/qmake/include/private/qsettings_p.h index 18d118b..095291c 100644 --- a/qmake/include/private/qsettings_p.h +++ b/qmake/include/private/qsettings_p.h @@ -96,3 +96,3 @@ public: -#if defined(Q_WS_WIN) || defined(Q_OS_MAC) +#if !defined(QWS) && (defined(Q_WS_WIN) || defined(Q_OS_MAC)) // system dependent implementations to use the diff --git a/qmake/include/private/qsharedmemory_p.h b/qmake/include/private/qsharedmemory_p.h index 4a8339d..927de89 100644 --- a/qmake/include/private/qsharedmemory_p.h +++ b/qmake/include/private/qsharedmemory_p.h @@ -7,3 +7,3 @@ ** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** Copyright (C) 2002 Trolltech AS. All rights reserved. ** @@ -32,2 +32,5 @@ +#ifndef QSHAREDMEMORY_P_H +#define QSHAREDMEMORY_P_H + // @@ -40,6 +43,5 @@ // +// We mean it. +// // - -#if !defined(QT_QSHM_H) -#define QT_QSHM_H @@ -83,2 +85,3 @@ private: #endif + #endif diff --git a/qmake/include/private/qsqldriverinterface_p.h b/qmake/include/private/qsqldriverinterface_p.h index 8957b86..8a39ddf 100644 --- a/qmake/include/private/qsqldriverinterface_p.h +++ b/qmake/include/private/qsqldriverinterface_p.h @@ -1,2 +1,3 @@ /**************************************************************************** +** $Id$ ** @@ -6,3 +7,3 @@ ** -** Copyright (C) 2000 Trolltech AS. All rights reserved. +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. ** @@ -39,2 +40,14 @@ +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// + #ifndef QT_H @@ -68,2 +81,2 @@ struct QM_EXPORT_SQL QSqlDriverFactoryInterface : public QFeatureListInterface -#endif // QSQLDRIVERINTERFACE_H +#endif // QSQLDRIVERINTERFACE_P_H diff --git a/qmake/include/private/qsqlextension_p.h b/qmake/include/private/qsqlextension_p.h index 597b266..3445b47 100644 --- a/qmake/include/private/qsqlextension_p.h +++ b/qmake/include/private/qsqlextension_p.h @@ -53,4 +53,6 @@ #include "qmap.h" +#include "qvaluevector.h" #include "qstring.h" #include "qvariant.h" +#include "qsql.h" #endif // QT_H @@ -61,9 +63,27 @@ #define QM_EXPORT_SQL +#define QM_TEMPLATE_EXTERN_SQL #else #define QM_EXPORT_SQL Q_EXPORT +#define QM_TEMPLATE_EXTERN_SQL Q_TEMPLATE_EXTERN #endif +struct Param { + Param( const QVariant& v = QVariant(), QSql::ParameterType t = QSql::In ): value( v ), typ( t ) {} + QVariant value; + QSql::ParameterType typ; + Q_DUMMY_COMPARISON_OPERATOR(Param) +}; + +struct Holder { + Holder( const QString& hldr = QString::null, int pos = -1 ): holderName( hldr ), holderPos( pos ) {} + bool operator==( const Holder& h ) const { return h.holderPos == holderPos && h.holderName == holderName; } + bool operator!=( const Holder& h ) const { return h.holderPos != holderPos || h.holderName != holderName; } + QString holderName; + int holderPos; +}; + #if defined(Q_TEMPLATEDLL) -Q_TEMPLATE_EXTERN template class QM_EXPORT_SQL QMap<QString,QVariant>; -Q_TEMPLATE_EXTERN template class QM_EXPORT_SQL QMap<int,QString>; +QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QMap<QString,Param>; +QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QMap<int,QString>; +QM_TEMPLATE_EXTERN_SQL template class QM_EXPORT_SQL QValueVector<Holder>; #endif @@ -76,5 +96,7 @@ public: virtual bool exec(); - virtual void bindValue( const QString& holder, const QVariant& value ); - virtual void bindValue( int pos, const QVariant& value ); - virtual void addBindValue( const QVariant& value ); + virtual void bindValue( const QString& holder, const QVariant& value, QSql::ParameterType = QSql::In ); + virtual void bindValue( int pos, const QVariant& value, QSql::ParameterType = QSql::In ); + virtual void addBindValue( const QVariant& value, QSql::ParameterType = QSql::In ); + virtual QVariant parameterValue( const QString& holder ); + virtual QVariant parameterValue( int pos ); void clearValues(); @@ -88,3 +110,9 @@ public: QMap<int, QString> index; - QMap<QString, QVariant> values; + typedef QMap<QString, Param> ValueMap; + ValueMap values; + + // convenience container for QSqlQuery + // to map holders <-> positions + typedef QValueVector<Holder> HolderVector; + HolderVector holders; }; @@ -98,3 +126,2 @@ public: }; - #endif diff --git a/qmake/include/private/qstyleinterface_p.h b/qmake/include/private/qstyleinterface_p.h index 4aaedc7..24a43ad 100644 --- a/qmake/include/private/qstyleinterface_p.h +++ b/qmake/include/private/qstyleinterface_p.h @@ -35,4 +35,16 @@ -#ifndef QSTYLEINTERFACE_H -#define QSTYLEINTERFACE_H +#ifndef QSTYLEINTERFACE_P_H +#define QSTYLEINTERFACE_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// @@ -60,2 +72,2 @@ struct Q_EXPORT QStyleFactoryInterface : public QFeatureListInterface -#endif //QSTYLEINTERFACE_H +#endif //QSTYLEINTERFACE_P_H diff --git a/qmake/include/private/qsvgdevice_p.h b/qmake/include/private/qsvgdevice_p.h index c1cc389..3407705 100644 --- a/qmake/include/private/qsvgdevice_p.h +++ b/qmake/include/private/qsvgdevice_p.h @@ -5,3 +5,3 @@ ** -** Created : 20001024 +** Created : 001024 ** @@ -37,4 +37,4 @@ -#ifndef QSVGDEVICE_H -#define QSVGDEVICE_H +#ifndef QSVGDEVICE_P_H +#define QSVGDEVICE_P_H @@ -133,2 +133,2 @@ inline QRect QSvgDevice::boundingRect() const -#endif // QSVGDEVICE_H +#endif // QSVGDEVICE_P_H diff --git a/qmake/include/private/qtextcodecinterface_p.h b/qmake/include/private/qtextcodecinterface_p.h index d2a2cb9..76e77f7 100644 --- a/qmake/include/private/qtextcodecinterface_p.h +++ b/qmake/include/private/qtextcodecinterface_p.h @@ -38,3 +38,2 @@ - // @@ -52,3 +51,2 @@ - #ifndef QT_H diff --git a/qmake/include/private/qtitlebar_p.h b/qmake/include/private/qtitlebar_p.h index dabb6bf..091845f 100644 --- a/qmake/include/private/qtitlebar_p.h +++ b/qmake/include/private/qtitlebar_p.h @@ -5,3 +5,3 @@ ** -** Created : 2000-01-01 +** Created : 000101 ** diff --git a/qmake/include/private/qucom_p.h b/qmake/include/private/qucom_p.h index d2ff48e..6b6ad40 100644 --- a/qmake/include/private/qucom_p.h +++ b/qmake/include/private/qucom_p.h @@ -37,9 +37,4 @@ -#ifndef QUCOM_H -#define QUCOM_H - -#ifndef QT_H -#include <qstring.h> -#include "quuid.h" -#endif // QT_H +#ifndef QUCOM_P_H +#define QUCOM_P_H @@ -57,2 +52,7 @@ +#ifndef QT_H +#include <qstring.h> +#include "quuid.h" +#endif // QT_H + #ifdef check @@ -131,3 +131,3 @@ public: // scary MSVC bug makes this necessary bool b; - + char c; @@ -136,3 +136,3 @@ public: // scary MSVC bug makes this necessary long l; - + unsigned char uc; @@ -141,8 +141,8 @@ public: // scary MSVC bug makes this necessary unsigned long ul; - + float f; double d; - + char byte[16]; - + struct { @@ -151,5 +151,5 @@ public: // scary MSVC bug makes this necessary } bytearray; - + void* ptr; - + struct { @@ -158,3 +158,3 @@ public: // scary MSVC bug makes this necessary } voidstar; - + struct { @@ -168,3 +168,3 @@ public: // scary MSVC bug makes this necessary } utf8; - + struct { @@ -173,6 +173,6 @@ public: // scary MSVC bug makes this necessary } local8bit; - + QUnknownInterface* iface; QDispatchInterface* idisp; - + } payload; @@ -265,3 +265,3 @@ struct Q_EXPORT QUEnumItem // - a name/value pair struct Q_EXPORT QUEnum -{ +{ const char *name; // - enumerator name @@ -398,20 +398,2 @@ extern Q_EXPORT QUType_int static_QUType_int; -// {5938712A-C496-11D5-8CB2-00C0F03BC0F3} -extern Q_EXPORT const QUuid TID_QUType_uint; -struct Q_EXPORT QUType_uint : public QUType -{ - const QUuid *uuid() const; - const char *desc() const; - - void set( QUObject *, uint ); - uint &get( QUObject *o ) { return o->payload.ui; } - bool canConvertFrom( QUObject *, QUType * ); - bool canConvertTo( QUObject *, QUType * ); - bool convertFrom( QUObject *, QUType * ); - bool convertTo( QUObject *, QUType * ); - void clear( QUObject * ) {} - int serializeTo( QUObject *, QUBuffer * ); - int serializeFrom( QUObject *, QUBuffer * ); -}; -extern Q_EXPORT QUType_uint static_QUType_uint; @@ -436,20 +418,2 @@ extern Q_EXPORT QUType_double static_QUType_double; -// {544C5175-6993-4486-B04D-CEC4D21BF4B9 } -extern Q_EXPORT const QUuid TID_QUType_float; -struct Q_EXPORT QUType_float : public QUType -{ - const QUuid *uuid() const; - const char *desc() const; - - void set( QUObject *, float ); - float &get( QUObject *o ) { return o->payload.f; } - bool canConvertFrom( QUObject *, QUType * ); - bool canConvertTo( QUObject *, QUType * ); - bool convertFrom( QUObject *, QUType * ); - bool convertTo( QUObject *, QUType * ); - void clear( QUObject * ) {} - int serializeTo( QUObject *, QUBuffer * ); - int serializeFrom( QUObject *, QUBuffer * ); -}; -extern Q_EXPORT QUType_float static_QUType_float; @@ -498,2 +462,2 @@ extern Q_EXPORT QUType_QString static_QUType_QString; -#endif // QUCOM_H +#endif // QUCOM_P_H diff --git a/qmake/include/private/qucomextra_p.h b/qmake/include/private/qucomextra_p.h index 3de6104..fe39692 100644 --- a/qmake/include/private/qucomextra_p.h +++ b/qmake/include/private/qucomextra_p.h @@ -37,4 +37,16 @@ -#ifndef QUCOMEXTRA_H -#define QUCOMEXTRA_H +#ifndef QUCOMEXTRA_P_H +#define QUCOMEXTRA_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// @@ -91,3 +103,3 @@ extern Q_EXPORT QUType_varptr static_QUType_varptr; -#endif // QUCOMEXTRA_H +#endif // QUCOMEXTRA_P_H diff --git a/qmake/include/private/qwidgetinterface_p.h b/qmake/include/private/qwidgetinterface_p.h index 5b5776b..78e9aad 100644 --- a/qmake/include/private/qwidgetinterface_p.h +++ b/qmake/include/private/qwidgetinterface_p.h @@ -1,5 +1,13 @@ - /********************************************************************** -** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. +/**************************************************************************** +** $Id$ ** -** This file is part of Qt Designer. +** ... +** +** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. +** +** This file is part of the widgets module of the Qt GUI Toolkit. +** +** This file may be distributed under the terms of the Q Public License +** as defined by Trolltech AS of Norway and appearing in the file +** LICENSE.QPL included in the packaging of this file. ** @@ -10,2 +18,6 @@ ** +** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition +** licenses may use this file in accordance with the Qt Commercial License +** Agreement provided with the Software. +** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE @@ -13,2 +25,5 @@ ** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** See http://www.trolltech.com/qpl/ for QPL licensing information. ** See http://www.trolltech.com/gpl/ for GPL licensing information. @@ -20,12 +35,4 @@ -#ifndef QWIDGETINTERFACE_H -#define QWIDGETINTERFACE_H - - -#ifndef QT_H -#include <private/qcom_p.h> -#include <qiconset.h> -#endif // QT_H - -#ifndef QT_NO_WIDGETPLUGIN +#ifndef QWIDGETINTERFACE_P_H +#define QWIDGETINTERFACE_P_H @@ -43,2 +50,9 @@ +#ifndef QT_H +#include <private/qcom_p.h> +#include <qiconset.h> +#endif // QT_H + +#ifndef QT_NO_WIDGETPLUGIN + class QWidget; @@ -94,3 +108,3 @@ public: -#if CONTAINER_CUSTOM_WIDGETS +#ifdef QT_CONTAINER_CUSTOM_WIDGETS // {15976628-e3c3-47f4-b525-d124a3caf30e} @@ -103,5 +117,20 @@ struct QWidgetContainerInterfacePrivate : public QUnknownInterface public: - virtual QWidget *containerOfWidget( QWidget *widget ) const = 0; - virtual QWidgetList containersOf( QWidget *widget ) const = 0; - virtual bool isPassiveInteractor( QWidget *widget ) const = 0; + virtual QWidget *containerOfWidget( const QString &f, QWidget *container ) const = 0; + virtual bool isPassiveInteractor( const QString &f, QWidget *container ) const = 0; + + virtual bool supportsPages( const QString &f ) const = 0; + + virtual QWidget *addPage( const QString &f, QWidget *container, + const QString &name, int index ) const = 0; + virtual void insertPage( const QString &f, QWidget *container, + const QString &name, int index, QWidget *page ) const = 0; + virtual void removePage( const QString &f, QWidget *container, int index ) const = 0; + virtual void movePage( const QString &f, QWidget *container, int fromIndex, int toIndex ) const = 0; + virtual int count( const QString &key, QWidget *container ) const = 0; + virtual int currentIndex( const QString &key, QWidget *container ) const = 0; + virtual QString pageLabel( const QString &key, QWidget *container, int index ) const = 0; + virtual QWidget *page( const QString &key, QWidget *container, int index ) const = 0; + virtual void renamePage( const QString &key, QWidget *container, + int index, const QString &newName ) const = 0; + virtual QWidgetList pages( const QString &f, QWidget *container ) const = 0; }; @@ -110,2 +139,2 @@ public: #endif // QT_NO_WIDGETPLUGIN -#endif // QWIDGETINTERFACE_H +#endif // QWIDGETINTERFACE_P_H diff --git a/qmake/include/private/qwidgetresizehandler_p.h b/qmake/include/private/qwidgetresizehandler_p.h index ca229db..9297832 100644 --- a/qmake/include/private/qwidgetresizehandler_p.h +++ b/qmake/include/private/qwidgetresizehandler_p.h @@ -7,3 +7,3 @@ ** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. ** @@ -37,4 +37,16 @@ -#ifndef QWIDGETRESIZEHANDLER_H -#define QWIDGETRESIZEHANDLER_H +#ifndef QWIDGETRESIZEHANDLER_P_H +#define QWIDGETRESIZEHANDLER_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. This header file may +// change from version to version without notice, or even be +// removed. +// +// We mean it. +// +// diff --git a/qmake/include/qasciidict.h b/qmake/include/qasciidict.h index 8f344cd..ecd9c9f 100644 --- a/qmake/include/qasciidict.h +++ b/qmake/include/qasciidict.h @@ -117,2 +117,6 @@ public: +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QASCIIDICT +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QASCIIDICT_H diff --git a/qmake/include/qcstring.h b/qmake/include/qcstring.h index 004bb3b..6b7352a 100644 --- a/qmake/include/qcstring.h +++ b/qmake/include/qcstring.h @@ -103,2 +103,3 @@ Q_EXPORT Q_UINT16 qChecksum( const char *s, uint len ); +#ifndef QT_QWINEXPORT #if defined(Q_TEMPLATEDLL) @@ -106,2 +107,3 @@ Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<char>; #endif +#endif /* QT_QWINEXPORT */ @@ -234,2 +236,4 @@ public: QCString &operator+=( char c ); +private: + int find( const char *str, int index, bool cs, uint l ) const; }; @@ -390,2 +394,5 @@ Q_EXPORT inline const QCString operator+( char c1, const QCString &s2 ) +#ifdef QT_QWINEXPORT +#include <qwinexport.h> +#endif /* QT_QWINEXPORT */ #endif // QCSTRING_H diff --git a/qmake/include/qdict.h b/qmake/include/qdict.h index 04ae7bf..d8943ad 100644 --- a/qmake/include/qdict.h +++ b/qmake/include/qdict.h @@ -117,2 +117,6 @@ public: +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QDICT +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QDICT_H diff --git a/qmake/include/qdir.h b/qmake/include/qdir.h index 6e9f1ab..4b08b79 100644 --- a/qmake/include/qdir.h +++ b/qmake/include/qdir.h @@ -180,2 +180,3 @@ public: static bool isRelativePath( const QString &path ); + void refresh() const; @@ -190,3 +191,3 @@ private: - static void slashify ( QString &); + static void slashify( QString & ); diff --git a/qmake/include/qfeatures.h b/qmake/include/qfeatures.h index 57502f9..270a6de 100644 --- a/qmake/include/qfeatures.h +++ b/qmake/include/qfeatures.h @@ -76,3 +76,3 @@ -// 4-bit greyscale +// 4-bit grayscale //#define QT_NO_QWS_DEPTH_4 diff --git a/qmake/include/qgarray.h b/qmake/include/qgarray.h index 12edea6..40720a6 100644 --- a/qmake/include/qgarray.h +++ b/qmake/include/qgarray.h @@ -51,7 +51,15 @@ public: struct array_data : public QShared { // shared array - array_data() { data=0; len=0; } + array_data():data(0),len(0) +#ifdef QT_QGARRAY_SPEED_OPTIM + ,maxl(0) +#endif + {} char *data; // actual array data uint len; +#ifdef QT_QGARRAY_SPEED_OPTIM + uint maxl; +#endif }; QGArray(); + enum Optimization { MemOptim, SpeedOptim }; protected: @@ -72,2 +80,3 @@ protected: + bool resize( uint newsize, Optimization optim ); bool resize( uint newsize ); @@ -90,3 +99,3 @@ protected: int contains( const char *d, uint sz ) const; - + void sort( uint sz ); diff --git a/qmake/include/qglobal.h b/qmake/include/qglobal.h index 13cff64..d212bff 100644 --- a/qmake/include/qglobal.h +++ b/qmake/include/qglobal.h @@ -40,3 +40,3 @@ -#define QT_VERSION_STR "3.1.0-b2" +#define QT_VERSION_STR "3.1.2" /* @@ -44,3 +44,3 @@ */ -#define QT_VERSION 0x030100 +#define QT_VERSION 0x030102 @@ -143,8 +143,8 @@ # define Q_OS_DYNIX -#elif defined(_SCO_DS) /* SCO OpenServer 5 */ +#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */ # define Q_OS_SCO -#elif defined(__UNIXWARE__) /* UnixWare 7 + GCC, Open UNIX 8 + GCC */ +#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */ # define Q_OS_UNIXWARE # define Q_OS_UNIXWARE7 -#elif defined(__USLC__) /* UnixWare 7 + UDK, Open UNIX 8 + OUDK */ +#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */ # define Q_OS_UNIXWARE @@ -227,3 +227,5 @@ # define Q_CC_MSVC_NET -# define Q_TYPENAME +# if _MSC_VER < 1310 +# define Q_TYPENAME +# endif # endif @@ -273,2 +275,6 @@ # endif +/* GCC 3.1 and GCC 3.2 wrongly define _SB_CTYPE_MACROS on HP-UX */ +# if defined(Q_OS_HPUX) && __GNUC__ == 3 && __GNUC_MINOR__ >= 1 +# define Q_WRONG_SB_CTYPE_MACROS +# endif # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) @@ -392,2 +398,6 @@ # define Q_CC_USLC +/* The latest UDK 7.1.1b does not need this, but previous versions do */ +# if !defined(__SCO_VERSION__) || (__SCO_VERSION__ < 302200010) +# define Q_INLINE_TEMPLATES inline +# endif # define Q_NO_USING_KEYWORD /* ### check "using" status */ @@ -399,5 +409,4 @@ -/* CDS++ is not documented to define __EDG__ or __EDG in the Reliant - documentation but we suppose it does, in any case it does follow - conventions like _BOOL */ +/* CDS++ defines __EDG__ although this is not documented in the Reliant + documentation. It also follows conventions like _BOOL and this documented */ # elif defined(sinix) @@ -417,2 +426,4 @@ # define Q_STRICT_INLINING_RULES +# define Q_NO_EXPLICIT_KEYWORD +# define Q_INLINE_TEMPLATES inline # elif defined(_COMPILER_VERSION) && (_COMPILER_VERSION < 730) /* 7.2 */ @@ -425,4 +436,5 @@ /* The older UnixWare 2.X compiler? */ -#elif defined(__USLC__) && !defined(__SCO_VERSION__) +#elif defined(__USLC__) # define Q_CC_USLC +# define Q_TYPENAME # define Q_NO_BOOL_TYPE @@ -430,2 +442,3 @@ # define Q_NO_USING_KEYWORD +# define Q_INLINE_TEMPLATES inline @@ -456,2 +469,12 @@ +/* CDS++ does not seem to define __EDG__ or __EDG according to Reliant + documentation but nevertheless uses EDG conventions like _BOOL */ +#elif defined(sinix) +# define Q_CC_EDG +# define Q_CC_CDS +# if !defined(_BOOL) +# define Q_NO_BOOL_TYPE +# endif +# define Q_BROKEN_TEMPLATE_SPECIALIZATION + #elif defined(Q_OS_HPUX) @@ -508,2 +531,3 @@ # define Q_WS_QWS +# define QT_NO_QWS_IM # elif defined(Q_OS_MACX) @@ -747,2 +771,6 @@ class QDataStream; +#if !defined(Q_WS_QWS) && !defined(QT_NO_COP) +# define QT_NO_COP +#endif + #ifndef QT_H @@ -754,2 +782,3 @@ class QDataStream; // Create Qt DLL if QT_DLL is defined (Windows only) +// or QT_SHARED is defined (Kylix only) // @@ -772,4 +801,4 @@ class QDataStream; # ifndef Q_TEMPLATE_EXTERN -# if defined(Q_CC_MSVC) -# define Q_TEMPLATE_EXTERN /*extern*/ //### too many warnings, even though disabled +# if defined(Q_CC_MSVC_NET) +# define Q_TEMPLATE_EXTERN extern # else @@ -778,3 +807,14 @@ class QDataStream; # endif -# undef Q_DISABLE_COPY /* avoid unresolved externals */ +# undef Q_DISABLE_COPY /* avoid unresolved externals */ +# endif +#elif defined(Q_OS_LINUX) && defined(Q_CC_BOR) +# if defined(QT_SHARED) /* create a Qt shared library */ +# define Q_EXPORT __declspec(dllexport) +# define Q_TEMPLATEDLL +# define Q_TEMPLATE_EXTERN +# undef Q_DISABLE_COPY /* avoid unresolved externals */ +# else +# define Q_TEMPLATEDLL +# define Q_TEMPLATE_EXTERN +# undef Q_DISABLE_COPY /* avoid unresolved externals */ # endif @@ -805,3 +845,5 @@ Q_EXPORT const char *qVersion(); Q_EXPORT bool qSysInfo( int *wordSize, bool *bigEndian ); -#if defined(Q_WS_WIN) +#if defined(Q_OS_MAC) +int qMacVersion(); +#elif defined(Q_WS_WIN) Q_EXPORT int qWinVersion(); @@ -971,2 +1013,18 @@ Q_EXPORT const char *qInstallPathData(); +// compilers which follow outdated template instantiation rules +// require a class to have a comparison operator to exist when +// a QValueList of this type is instantiated. It's not actually +// used in the list, though. Hence the dummy implementation. +// Just in case other code relies on it we better trigger a warning +// mandating a real implementation. +#ifdef Q_FULL_TEMPLATE_INSTANTIATION +# define Q_DUMMY_COMPARISON_OPERATOR(C) \ + bool operator==( const C& ) const { \ + qWarning( #C"::operator==( const "#C"& ) got called." ); \ + return FALSE; \ + } +#else +# define Q_DUMMY_COMPARISON_OPERATOR(C) +#endif + #endif // QGLOBAL_H @@ -994,2 +1052,3 @@ Q_EXPORT const char *qInstallPathData(); # pragma warning(disable: 4231) // nonstandard extension used : 'extern' before template explicit instantiation +# pragma warning(disable: 4710) // function not inlined # elif defined(Q_CC_BOR) diff --git a/qmake/include/qintdict.h b/qmake/include/qintdict.h index b4cb223..0299879 100644 --- a/qmake/include/qintdict.h +++ b/qmake/include/qintdict.h @@ -113,2 +113,6 @@ public: +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QINTDICT +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QINTDICT_H diff --git a/qmake/include/qmap.h b/qmake/include/qmap.h index 269bd6b..4bc0a2f 100644 --- a/qmake/include/qmap.h +++ b/qmake/include/qmap.h @@ -882,2 +882,6 @@ Q_INLINE_TEMPLATES QDataStream& operator<<( QDataStream& s, const QMap<Key,T>& m +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QMAP +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QMAP_H diff --git a/qmake/include/qmemarray.h b/qmake/include/qmemarray.h index a5baf99..267670d 100644 --- a/qmake/include/qmemarray.h +++ b/qmake/include/qmemarray.h @@ -45,3 +45,3 @@ -template<class type> +template<class type> class QMemArray : public QGArray @@ -70,2 +70,3 @@ public: bool resize( uint size ) { return QGArray::resize(size*sizeof(type)); } + bool resize( uint size, Optimization optim ) { return QGArray::resize(size*sizeof(type), optim); } bool truncate( uint pos ) { return QGArray::resize(pos*sizeof(type)); } @@ -110,2 +111,3 @@ public: +#ifndef QT_QWINEXPORT #if defined(Q_TEMPLATEDLL) @@ -116,2 +118,3 @@ Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<bool>; #endif +#endif /* QT_QWINEXPORT */ @@ -121,2 +124,6 @@ Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<bool>; +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QMEMARRAY +#include <qwinexport.h> +#endif /* QT_QWINEXPORT */ #endif // QARRAY_H diff --git a/qmake/include/qptrlist.h b/qmake/include/qptrlist.h index 53fb605..17b5ee9 100644 --- a/qmake/include/qptrlist.h +++ b/qmake/include/qptrlist.h @@ -5,4 +5,2 @@ ** -** Created : -** ** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. @@ -159,2 +157,6 @@ public: +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QPTRLIST +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QPTRLIST_H diff --git a/qmake/include/qptrvector.h b/qmake/include/qptrvector.h index f6d9623..49b40b7 100644 --- a/qmake/include/qptrvector.h +++ b/qmake/include/qptrvector.h @@ -112,2 +112,6 @@ template<class type> inline void QPtrVector<type>::deleteItem( QPtrCollection::I +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QPTRVECTOR +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QVECTOR_H diff --git a/qmake/include/qregexp.h b/qmake/include/qregexp.h index 7bb777a..90f54bd 100644 --- a/qmake/include/qregexp.h +++ b/qmake/include/qregexp.h @@ -82,3 +82,3 @@ public: -#if defined(qdoc) +#if defined(Q_QDOC) int search( const QString& str, int offset = 0, diff --git a/qmake/include/qstring.h b/qmake/include/qstring.h index 2a87a5a..c1d6740 100644 --- a/qmake/include/qstring.h +++ b/qmake/include/qstring.h @@ -3,4 +3,3 @@ ** -** Definition of the QString class, and related Unicode -** functions. +** Definition of the QString class, and related Unicode functions. ** @@ -8,3 +7,3 @@ ** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** Copyright (C) 1992-2002 Trolltech AS. All rights reserved. ** @@ -45,2 +44,9 @@ +#ifndef QT_NO_STL +#include <string> +#if defined(Q_WRONG_SB_CTYPE_MACROS) && defined(_SB_CTYPE_MACROS) +#undef _SB_CTYPE_MACROS +#endif +#endif + @@ -338,5 +344,5 @@ struct Q_EXPORT QStringData : public QShared { QStringData() : - QShared(), unicode(0), ascii(0), len(0), simpletext(1), maxl(0), dirty(0) { ref(); } + QShared(), unicode(0), ascii(0), len(0), issimpletext(TRUE), maxl(0), islatin1(FALSE) { ref(); } QStringData(QChar *u, uint l, uint m) : - QShared(), unicode(u), ascii(0), len(l), simpletext(1), maxl(m), dirty(1) { } + QShared(), unicode(u), ascii(0), len(l), issimpletext(FALSE), maxl(m), islatin1(FALSE) { } ~QStringData() { if ( unicode ) delete[] ((char*)unicode); @@ -352,3 +358,3 @@ struct Q_EXPORT QStringData : public QShared { } - dirty = 1; + issimpletext = FALSE; } @@ -359,3 +365,3 @@ struct Q_EXPORT QStringData : public QShared { #endif - uint simpletext : 1; + uint issimpletext : 1; #ifdef Q_OS_MAC9 @@ -365,3 +371,3 @@ struct Q_EXPORT QStringData : public QShared { #endif - uint dirty : 1; + uint islatin1 : 1; @@ -386,2 +392,5 @@ public: #endif +#ifndef QT_NO_STL + QString( const std::string& ); // deep copy +#endif ~QString(); @@ -389,4 +398,5 @@ public: QString &operator=( const QString & ); // impl-shared copy -#ifndef QT_NO_CAST_ASCII QString &operator=( const char * ); // deep copy +#ifndef QT_NO_STL + QString &operator=( const std::string& ); // deep copy #endif @@ -496,2 +506,5 @@ public: #endif +#ifndef QT_NO_STL + QString &append( const std::string& ); +#endif QString &prepend( char ); @@ -503,2 +516,5 @@ public: #endif +#ifndef QT_NO_STL + QString &prepend( const std::string& ); +#endif QString &remove( uint index, uint len ); @@ -558,2 +574,5 @@ public: #endif +#ifndef QT_NO_STL + QString &operator+=( const std::string& ); +#endif QString &operator+=( QChar c ); @@ -578,3 +597,4 @@ public: const QChar* unicode() const { return d->unicode; } - const char* ascii() const { return latin1(); } + const char* ascii() const; + static QString fromAscii(const char*, int len=-1); const char* latin1() const; @@ -587,4 +607,8 @@ public: #ifndef QT_NO_ASCII_CAST - operator const char *() const { return latin1(); } + operator const char *() const { return ascii(); } #endif +#ifndef QT_NO_STL + operator std::string() const { return ascii() ? ascii() : ""; } +#endif + static QString fromUcs2( const unsigned short *ucs2 ); @@ -594,2 +618,3 @@ public: QString &setUnicodeCodes( const ushort* unicode_as_ushorts, uint len ); + QString &setAscii( const char*, int len=-1 ); QString &setLatin1( const char*, int len=-1 ); @@ -611,3 +636,3 @@ public: #ifndef QT_NO_COMPAT - const char* data() const { return latin1(); } + const char* data() const { return ascii(); } #endif @@ -619,3 +644,3 @@ public: - bool simpleText() const { if ( d->dirty ) checkSimpleText(); return (bool)d->simpletext; } + bool simpleText() const { if ( !d->issimpletext ) checkSimpleText(); return (bool)d->issimpletext; } bool isRightToLeft() const; @@ -633,5 +658,5 @@ private: - static QChar* asciiToUnicode( const char*, uint * len, uint maxlen=(uint)-1 ); - static QChar* asciiToUnicode( const QByteArray&, uint * len ); - static char* unicodeToAscii( const QChar*, uint len ); + static QChar* latin1ToUnicode( const char*, uint * len, uint maxlen=(uint)-1 ); + static QChar* latin1ToUnicode( const QByteArray&, uint * len ); + static char* unicodeToLatin1( const QChar*, uint len ); @@ -796,3 +821,13 @@ inline QString &QString::prepend( char c ) inline QString &QString::prepend( const QByteArray & s ) -{ return insert(0,s.data()); } +{ return insert(0,QString(s)); } +#endif + +#ifndef QT_NO_STL +inline QString &QString::prepend( const std::string& s ) +{ return insert(0, s); } +#endif + +#ifndef QT_NO_CAST_ASCII +inline QString &QString::operator+=( const QByteArray &s ) +{ return operator+=(QString(s)); } #endif @@ -804,3 +839,3 @@ inline QString &QString::append( const QString & s ) inline QString &QString::append( const QByteArray &s ) -{ return operator+=(s.data()); } +{ return operator+=(s); } @@ -816,5 +851,7 @@ inline QString &QString::append( char c ) -#ifndef QT_NO_CAST_ASCII -inline QString &QString::operator+=( const QByteArray &s ) -{ return operator+=(s.data()); } +#ifndef QT_NO_STL +inline QString &QString::operator+=( const std::string& s ) +{ return operator+=(s.c_str()); } +inline QString &QString::append( const std::string& s ) +{ return operator+=(s); } #endif @@ -856,6 +893,6 @@ inline int QString::findRev( char c, int index, bool cs) const inline int QString::find( const char* str, int index ) const -{ return find(QString::fromLatin1(str), index); } +{ return find(QString::fromAscii(str), index); } inline int QString::findRev( const char* str, int index ) const -{ return findRev(QString::fromLatin1(str), index); } +{ return findRev(QString::fromAscii(str), index); } #endif @@ -899,3 +936,3 @@ Q_EXPORT inline const QString operator+( const QString &s1, const char *s2 ) QString tmp( s1 ); - tmp += QString::fromLatin1(s2); + tmp += QString::fromAscii(s2); return tmp; @@ -905,3 +942,3 @@ Q_EXPORT inline const QString operator+( const char *s1, const QString &s2 ) { - QString tmp = QString::fromLatin1( s1 ); + QString tmp = QString::fromAscii( s1 ); tmp += s2; @@ -949,2 +986,6 @@ extern Q_EXPORT QString qt_winMB2QString( const char* mb, int len=-1 ); +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QSTRING +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QSTRING_H diff --git a/qmake/include/qstrlist.h b/qmake/include/qstrlist.h index 86de328..b9dd753 100644 --- a/qmake/include/qstrlist.h +++ b/qmake/include/qstrlist.h @@ -47,2 +47,3 @@ +#ifndef QT_QWINEXPORT #if defined(Q_TEMPLATEDLL) @@ -51,2 +52,3 @@ Q_TEMPLATE_EXTERN template class Q_EXPORT QPtrListIterator<char>; #endif +#endif /* QT_QWINEXPORT */ diff --git a/qmake/include/qtextcodec.h b/qmake/include/qtextcodec.h index 149b5cb..995e434 100644 --- a/qmake/include/qtextcodec.h +++ b/qmake/include/qtextcodec.h @@ -77,2 +77,7 @@ public: + static QTextCodec* codecForTr(); + static void setCodecForTr(QTextCodec *c); + static QTextCodec* codecForCStrings(); + static void setCodecForCStrings(QTextCodec *c); + static void deleteAllCodecs(); @@ -90,3 +95,3 @@ public: virtual QCString fromUnicode(const QString& uc, int& lenInOut) const; - + QCString fromUnicode(const QString& uc) const; @@ -110,4 +115,13 @@ protected: +private: + static QTextCodec *cftr; + static QTextCodec *cfcs; friend class QFont; }; + +inline QTextCodec* QTextCodec::codecForTr() { return cftr; } +inline void QTextCodec::setCodecForTr(QTextCodec *c) { cftr = c; } +inline QTextCodec* QTextCodec::codecForCStrings() { return cfcs; } +inline void QTextCodec::setCodecForCStrings(QTextCodec *c) { cfcs = c; } + #endif // QT_NO_TEXTCODEC diff --git a/qmake/include/qtl.h b/qmake/include/qtl.h index 346cecc..25631fd 100644 --- a/qmake/include/qtl.h +++ b/qmake/include/qtl.h @@ -91,2 +91,3 @@ inline bool qEqual( InputIterator1 first1, InputIterator1 last1, InputIterator2 { + // ### compare using !(*first1 == *first2) in Qt 4.0 for ( ; first1 != last1; ++first1, ++first2 ) diff --git a/qmake/include/quuid.h b/qmake/include/quuid.h index 591d2f1..664c149 100644 --- a/qmake/include/quuid.h +++ b/qmake/include/quuid.h @@ -5,5 +5,5 @@ ** -** Created: 010523 +** Created : 010523 ** -** Copyright (C) 1992-2001 Trolltech AS. All rights reserved. +** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. ** @@ -55,3 +55,3 @@ typedef struct _GUID uchar Data4[ 8 ]; -} GUID; +} GUID, *REFGUID, *LPGUID; #endif diff --git a/qmake/include/qvaluelist.h b/qmake/include/qvaluelist.h index 54f7aec..f5cd7bb 100644 --- a/qmake/include/qvaluelist.h +++ b/qmake/include/qvaluelist.h @@ -664,2 +664,6 @@ Q_INLINE_TEMPLATES QDataStream& operator<<( QDataStream& s, const QValueList<T>& #endif // QT_NO_DATASTREAM +#ifdef QT_QWINEXPORT +#define Q_DEFINED_QVALUELIST +#include "qwinexport.h" +#endif /* QT_QWINEXPORT */ #endif // QVALUELIST_H diff --git a/qmake/include/qvaluestack.h b/qmake/include/qvaluestack.h index 7e9bc48..c3f966e 100644 --- a/qmake/include/qvaluestack.h +++ b/qmake/include/qvaluestack.h @@ -7,3 +7,3 @@ ** -** Copyright (C) 1992-2000 Trolltech AS. All rights reserved. +** Copyright (C) 1992-2003 Trolltech AS. All rights reserved. ** @@ -56,3 +56,3 @@ public: if ( !this->isEmpty() ) - remove( this->fromLast() ); + this->remove( this->fromLast() ); return elem; |