summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-06-28 12:17:34 +0200
committerQt by Nokia <qt-info@nokia.com>2011-06-29 15:10:14 +0200
commit118b3d3f8415037a1afddc6b962bd809905527d5 (patch)
tree843b8c725400cc468844d41708f2f0543ef0c283 /src
parentfa65123a86529bbbdaf2b774d741400a3dbfd593 (diff)
Remove Qt3 support functionality from parts of QtCore
Change-Id: I90f391e9bfc412087bd0401e28d2497571f81aa1 Reviewed-on: http://codereview.qt.nokia.com/825 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Liang Qi <liang.qi@nokia.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp132
-rw-r--r--src/corelib/kernel/qcoreapplication.h20
-rw-r--r--src/corelib/kernel/qcoreevent.cpp59
-rw-r--r--src/corelib/kernel/qcoreevent.h22
-rw-r--r--src/corelib/kernel/qobject.cpp204
-rw-r--r--src/corelib/kernel/qobject.h67
-rw-r--r--src/corelib/kernel/qobject_p.h12
-rw-r--r--src/corelib/tools/qstring.cpp94
-rw-r--r--src/corelib/tools/qstring.h131
9 files changed, 17 insertions, 724 deletions
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index cc1b1812e5..5f11b10ec5 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -176,9 +176,6 @@ extern QString qAppFileName();
#endif
int QCoreApplicationPrivate::app_compile_version = 0x040000; //we don't know exactly, but it's at least 4.0.0
-#if defined(QT3_SUPPORT)
-bool QCoreApplicationPrivate::useQt3Support = true;
-#endif
#if !defined(Q_OS_WIN)
#ifdef Q_OS_MAC
@@ -337,9 +334,6 @@ QCoreApplicationPrivate::QCoreApplicationPrivate(int &aargc, char **aargv, uint
in_exec(false), aboutToQuitEmitted(false)
{
app_compile_version = flags & 0xffffff;
-#if defined(QT3_SUPPORT)
- useQt3Support = !(flags & 0x01000000);
-#endif
static const char *const empty = "";
if (argc == 0 || argv == 0) {
argc = 0;
@@ -1370,20 +1364,6 @@ void QCoreApplicationPrivate::sendPostedEvents(QObject *receiver, int event_type
++data->postEventList.recursion;
-#ifdef QT3_SUPPORT
- if (event_type == QEvent::ChildInserted) {
- if (receiver) {
- // optimize sendPostedEvents(w, QEvent::ChildInserted) calls away
- receiver->d_func()->sendPendingChildInsertedEvents();
- --data->postEventList.recursion;
- return;
- }
-
- // ChildInserted events are sent in response to *Request
- event_type = QEvent::ChildInsertedRequest;
- }
-#endif
-
QMutexLocker locker(&data->postEventList.mutex);
// by default, we assume that the event dispatcher can go to sleep after
@@ -1534,11 +1514,6 @@ void QCoreApplication::removePostedEvents(QObject *receiver)
void QCoreApplication::removePostedEvents(QObject *receiver, int eventType)
{
-#ifdef QT3_SUPPORT
- if (eventType == QEvent::ChildInserted)
- eventType = QEvent::ChildInsertedRequest;
-#endif
-
QThreadData *data = receiver ? receiver->d_func()->threadData : QThreadData::current();
QMutexLocker locker(&data->postEventList.mutex);
@@ -1561,10 +1536,6 @@ void QCoreApplication::removePostedEvents(QObject *receiver, int eventType)
if ((!receiver || pe.receiver == receiver)
&& (pe.event && (eventType == 0 || pe.event->type() == eventType))) {
--pe.receiver->d_func()->postedEvents;
-#ifdef QT3_SUPPORT
- if (pe.event->type() == QEvent::ChildInsertedRequest)
- pe.receiver->d_func()->pendingChildInsertedEvents.clear();
-#endif
pe.event->posted = false;
events.append(pe.event);
const_cast<QPostEvent &>(pe).event = 0;
@@ -2557,109 +2528,6 @@ bool QCoreApplication::hasPendingEvents()
return false;
}
-#ifdef QT3_SUPPORT
-/*! \fn void QCoreApplication::lock()
-
- In Qt 3, this function locked the Qt library mutex, allowing
- non-GUI threads to perform basic printing operations using
- QPainter.
-
- In Qt 4, this is no longer supported, since painting is only
- supported from within a paint event handler. This function does
- nothing.
-
- \sa QWidget::paintEvent()
-*/
-
-/*! \fn void QCoreApplication::unlock(bool wakeUpGui)
-
- In Qt 3, this function unlocked the Qt library mutex. The mutex
- allowed non-GUI threads to perform basic printing operations
- using QPainter.
-
- In Qt 4, this is no longer supported, since painting is only
- supported from within a paint event handler. This function does
- nothing.
-*/
-
-/*! \fn bool QCoreApplication::locked()
-
- This function does nothing. It is there to keep old code working.
- It always returns false.
-
- See lock() for details.
-*/
-
-/*! \fn bool QCoreApplication::tryLock()
-
- This function does nothing. It is there to keep old code working.
- It always returns false.
-
- See lock() for details.
-*/
-
-/*! \fn void QCoreApplication::processOneEvent()
- \obsolete
-
- Waits for an event to occur, processes it, then returns.
-
- This function is useful for adapting Qt to situations where the
- event processing must be grafted onto existing program loops.
-
- Using this function in new applications may be an indication of design
- problems.
-
- \sa processEvents(), exec(), QTimer
-*/
-
-/*! \obsolete
-
- This function enters the main event loop (recursively). Do not call
- it unless you really know what you are doing.
-*/
-int QCoreApplication::enter_loop()
-{
- if (!QCoreApplicationPrivate::checkInstance("enter_loop"))
- return -1;
- if (QThreadData::current() != self->d_func()->threadData) {
- qWarning("QCoreApplication::enter_loop: Must be called from the main thread");
- return -1;
- }
- QEventLoop eventLoop;
- int returnCode = eventLoop.exec();
- return returnCode;
-}
-
-/*! \obsolete
-
- This function exits from a recursive call to the main event loop.
- Do not call it unless you are an expert.
-*/
-void QCoreApplication::exit_loop()
-{
- if (!QCoreApplicationPrivate::checkInstance("exit_loop"))
- return;
- QThreadData *data = QThreadData::current();
- if (data != self->d_func()->threadData) {
- qWarning("QCoreApplication::exit_loop: Must be called from the main thread");
- return;
- }
- if (!data->eventLoops.isEmpty())
- data->eventLoops.top()->exit();
-}
-
-/*! \obsolete
-
- Returns the current loop level.
-*/
-int QCoreApplication::loopLevel()
-{
- if (!QCoreApplicationPrivate::checkInstance("loopLevel"))
- return -1;
- return self->d_func()->threadData->eventLoops.size();
-}
-#endif
-
/*
\fn void QCoreApplication::watchUnixSignal(int signal, bool watch)
\internal
diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h
index d4356e3e36..adc70387cc 100644
--- a/src/corelib/kernel/qcoreapplication.h
+++ b/src/corelib/kernel/qcoreapplication.h
@@ -46,10 +46,6 @@
#include <QtCore/qcoreevent.h>
#include <QtCore/qeventloop.h>
-#ifdef QT_INCLUDE_COMPAT
-#include <QtCore/qstringlist.h>
-#endif
-
#if defined(Q_WS_WIN) && !defined(tagMSG)
typedef struct tagMSG MSG;
#endif
@@ -79,9 +75,6 @@ class Q_CORE_EXPORT QCoreApplication : public QObject
Q_DECLARE_PRIVATE(QCoreApplication)
public:
enum { ApplicationFlags = QT_VERSION
-#if !defined(QT3_SUPPORT)
- | 0x01000000
-#endif
};
#if defined(QT_BUILD_CORE_LIB) || defined(qdoc)
@@ -164,19 +157,6 @@ public:
static void flush();
-#if defined(QT3_SUPPORT)
- inline QT3_SUPPORT void lock() {}
- inline QT3_SUPPORT void unlock(bool = true) {}
- inline QT3_SUPPORT bool locked() { return false; }
- inline QT3_SUPPORT bool tryLock() { return false; }
-
- static inline QT3_SUPPORT void processOneEvent()
- { processEvents(QEventLoop::WaitForMoreEvents); }
- static QT3_SUPPORT int enter_loop();
- static QT3_SUPPORT void exit_loop();
- static QT3_SUPPORT int loopLevel();
-#endif
-
#if defined(Q_WS_WIN)
virtual bool winEventFilter(MSG *message, long *result);
#endif
diff --git a/src/corelib/kernel/qcoreevent.cpp b/src/corelib/kernel/qcoreevent.cpp
index fbc935ddde..a355b0ad1a 100644
--- a/src/corelib/kernel/qcoreevent.cpp
+++ b/src/corelib/kernel/qcoreevent.cpp
@@ -504,65 +504,6 @@ QChildEvent::~QChildEvent()
false.
*/
-/*!
- \class QCustomEvent
- \brief The QCustomEvent class provides support for custom events.
-
- \compat
-
- QCustomEvent has a \c{void *} that can be used to store custom
- data.
-
- In Qt 3, QObject::customEvent() took a QCustomEvent pointer. We
- found out that this approach was unsatisfactory, because
- there was often no safe way of deleting the data held in the
- \c{void *}.
-
- In Qt 4, QObject::customEvent() takes a plain QEvent pointer.
- You can add custom data by subclassing.
-
- \sa QObject::customEvent(), QCoreApplication::notify()
-*/
-
-/*!
- \fn QCustomEvent::QCustomEvent(int type, void *data)
-
- Constructs a custom event object with the event \a type and a
- pointer to \a data. The value of \a type must be at least as
- large as QEvent::User. By default, the data pointer is set to 0.
-*/
-#ifdef QT3_SUPPORT
-QCustomEvent::QCustomEvent(int type, void *data)
- : QEvent(static_cast<Type>(type))
-{
- d = reinterpret_cast<QEventPrivate *>(data);
-}
-
-/*! \internal
-*/
-QCustomEvent::~QCustomEvent()
-{
-}
-#endif
-/*!
- \fn void QCustomEvent::setData(void *data)
-
- \compat
-
- Sets the generic data pointer to \a data.
-
- \sa data()
-*/
-
-/*!
- \fn void *QCustomEvent::data() const
-
- \compat
-
- Returns a pointer to the generic event data.
-
- \sa setData()
-*/
/*!
\fn bool QChildEvent::inserted() const
diff --git a/src/corelib/kernel/qcoreevent.h b/src/corelib/kernel/qcoreevent.h
index 98a08e9628..d2b2d97839 100644
--- a/src/corelib/kernel/qcoreevent.h
+++ b/src/corelib/kernel/qcoreevent.h
@@ -89,9 +89,6 @@ public:
Quit = 20, // request to quit application
ParentChange = 21, // widget has been reparented
ParentAboutToChange = 131, // sent just before the parent change is done
-#ifdef QT3_SUPPORT
- Reparent = ParentChange,
-#endif
ThreadChange = 22, // object has changed threads
WindowActivate = 24, // window was activated
WindowDeactivate = 25, // window was deactivated
@@ -118,11 +115,6 @@ public:
DragResponse = 64, // drag accepted/rejected
ChildAdded = 68, // new child widget
ChildPolished = 69, // polished child widget
-#ifdef QT3_SUPPORT
- ChildInsertedRequest = 67, // send ChildInserted compatibility events to receiver
- ChildInserted = 70, // compatibility child inserted
- LayoutHint = 72, // compatibility relayout request
-#endif
ChildRemoved = 71, // deleted child widget
ShowWindowRequest = 73, // widget's window should be mapped
PolishRequest = 74, // widget should be polished
@@ -357,26 +349,12 @@ public:
~QChildEvent();
QObject *child() const { return c; }
bool added() const { return type() == ChildAdded; }
-#ifdef QT3_SUPPORT
- QT3_SUPPORT bool inserted() const { return type() == ChildInserted; }
-#endif
bool polished() const { return type() == ChildPolished; }
bool removed() const { return type() == ChildRemoved; }
protected:
QObject *c;
};
-#ifdef QT3_SUPPORT
-class Q_CORE_EXPORT QCustomEvent : public QEvent
-{
-public:
- QT3_SUPPORT_CONSTRUCTOR QCustomEvent(int type, void *data = 0);
- ~QCustomEvent();
- QT3_SUPPORT void *data() const { return d; }
- QT3_SUPPORT void setData(void* aData) { d = reinterpret_cast<QEventPrivate *>(aData); }
-};
-#endif
-
class Q_CORE_EXPORT QDynamicPropertyChangeEvent : public QEvent
{
public:
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 88618c3c87..cce458e0f8 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -202,22 +202,6 @@ void QObjectPrivate::resetDeleteWatch(QObjectPrivate *d, int *oldWatch, int dele
}
#endif
-#ifdef QT3_SUPPORT
-void QObjectPrivate::sendPendingChildInsertedEvents()
-{
- Q_Q(QObject);
- for (int i = 0; i < pendingChildInsertedEvents.size(); ++i) {
- QObject *c = pendingChildInsertedEvents.at(i).data();
- if (!c || c->parent() != q)
- continue;
- QChildEvent childEvent(QEvent::ChildInserted, c);
- QCoreApplication::sendEvent(q, &childEvent);
- }
- pendingChildInsertedEvents.clear();
-}
-
-#endif
-
/*!\internal
For a given metaobject, compute the signal offset, and the method offset (including signals)
@@ -736,29 +720,6 @@ QObject::QObject(QObject *parent)
qt_addObject(this);
}
-#ifdef QT3_SUPPORT
-/*!
- \overload QObject()
- \obsolete
-
- Creates a new QObject with the given \a parent and object \a name.
- */
-QObject::QObject(QObject *parent, const char *name)
- : d_ptr(new QObjectPrivate)
-{
- Q_D(QObject);
- qt_addObject(d_ptr->q_ptr = this);
- d->threadData = (parent && !parent->thread()) ? parent->d_func()->threadData : QThreadData::current();
- d->threadData->ref();
- if (parent) {
- if (!check_parent_thread(parent, parent ? parent->d_func()->threadData : 0, d->threadData))
- parent = 0;
- setParent(parent);
- }
- setObjectName(QString::fromAscii(name));
-}
-#endif
-
/*! \internal
*/
QObject::QObject(QObjectPrivate &dd, QObject *parent)
@@ -1078,56 +1039,6 @@ void QObject::setObjectName(const QString &name)
d->declarativeData->objectNameChanged(d->declarativeData, this);
}
-
-#ifdef QT3_SUPPORT
-/*! \internal
- QObject::child is compat but needs to call itself recursively,
- that's why we need this helper.
-*/
-static QObject *qChildHelper(const char *objName, const char *inheritsClass,
- bool recursiveSearch, const QObjectList &children)
-{
- if (children.isEmpty())
- return 0;
-
- bool onlyWidgets = (inheritsClass && qstrcmp(inheritsClass, "QWidget") == 0);
- const QLatin1String oName(objName);
- for (int i = 0; i < children.size(); ++i) {
- QObject *obj = children.at(i);
- if (onlyWidgets) {
- if (obj->isWidgetType() && (!objName || obj->objectName() == oName))
- return obj;
- } else if ((!inheritsClass || obj->inherits(inheritsClass))
- && (!objName || obj->objectName() == oName))
- return obj;
- if (recursiveSearch && (obj = qChildHelper(objName, inheritsClass,
- recursiveSearch, obj->children())))
- return obj;
- }
- return 0;
-}
-
-
-/*!
- Searches the children and optionally grandchildren of this object,
- and returns a child that is called \a objName that inherits \a
- inheritsClass. If \a inheritsClass is 0 (the default), any class
- matches.
-
- If \a recursiveSearch is true (the default), child() performs a
- depth-first search of the object's children.
-
- If there is no such object, this function returns 0. If there are
- more than one, the first one found is returned.
-*/
-QObject* QObject::child(const char *objName, const char *inheritsClass,
- bool recursiveSearch) const
-{
- Q_D(const QObject);
- return qChildHelper(objName, inheritsClass, recursiveSearch, d->children);
-}
-#endif
-
/*!
\fn bool QObject::isWidgetType() const
@@ -1156,17 +1067,8 @@ bool QObject::event(QEvent *e)
timerEvent((QTimerEvent*)e);
break;
-#ifdef QT3_SUPPORT
- case QEvent::ChildInsertedRequest:
- d_func()->sendPendingChildInsertedEvents();
- break;
-#endif
-
case QEvent::ChildAdded:
case QEvent::ChildPolished:
-#ifdef QT3_SUPPORT
- case QEvent::ChildInserted:
-#endif
case QEvent::ChildRemoved:
childEvent((QChildEvent*)e);
break;
@@ -1635,102 +1537,6 @@ void QObject::killTimer(int id)
\sa findChild(), findChildren(), parent(), setParent()
*/
-#ifdef QT3_SUPPORT
-static void objSearch(QObjectList &result,
- const QObjectList &list,
- const char *inheritsClass,
- bool onlyWidgets,
- const char *objName,
- QRegExp *rx,
- bool recurse)
-{
- for (int i = 0; i < list.size(); ++i) {
- QObject *obj = list.at(i);
- if (!obj)
- continue;
- bool ok = true;
- if (onlyWidgets)
- ok = obj->isWidgetType();
- else if (inheritsClass && !obj->inherits(inheritsClass))
- ok = false;
- if (ok) {
- if (objName)
- ok = (obj->objectName() == QLatin1String(objName));
-#ifndef QT_NO_REGEXP
- else if (rx)
- ok = (rx->indexIn(obj->objectName()) != -1);
-#endif
- }
- if (ok) // match!
- result.append(obj);
- if (recurse) {
- QObjectList clist = obj->children();
- if (!clist.isEmpty())
- objSearch(result, clist, inheritsClass,
- onlyWidgets, objName, rx, recurse);
- }
- }
-}
-
-/*!
- \internal
-
- Searches the children and optionally grandchildren of this object,
- and returns a list of those objects that are named or that match
- \a objName and inherit \a inheritsClass. If \a inheritsClass is 0
- (the default), all classes match. If \a objName is 0 (the
- default), all object names match.
-
- If \a regexpMatch is true (the default), \a objName is a regular
- expression that the objects's names must match. The syntax is that
- of a QRegExp. If \a regexpMatch is false, \a objName is a string
- and object names must match it exactly.
-
- Note that \a inheritsClass uses single inheritance from QObject,
- the way inherits() does. According to inherits(), QWidget
- inherits QObject but not QPaintDevice. This does not quite match
- reality, but is the best that can be done on the wide variety of
- compilers Qt supports.
-
- Finally, if \a recursiveSearch is true (the default), queryList()
- searches \e{n}th-generation as well as first-generation children.
-
- If all this seems a bit complex for your needs, the simpler
- child() function may be what you want.
-
- This somewhat contrived example disables all the buttons in this
- window:
-
- \snippet doc/src/snippets/code/src_corelib_kernel_qobject.cpp 9
-
- \warning Delete the list as soon you have finished using it. The
- list contains pointers that may become invalid at almost any time
- without notice (as soon as the user closes a window you may have
- dangling pointers, for example).
-
- \sa child() children(), parent(), inherits(), objectName(), QRegExp
-*/
-
-QObjectList QObject::queryList(const char *inheritsClass,
- const char *objName,
- bool regexpMatch,
- bool recursiveSearch) const
-{
- Q_D(const QObject);
- QObjectList list;
- bool onlyWidgets = (inheritsClass && qstrcmp(inheritsClass, "QWidget") == 0);
-#ifndef QT_NO_REGEXP
- if (regexpMatch && objName) { // regexp matching
- QRegExp rx(QString::fromLatin1(objName));
- objSearch(list, d->children, inheritsClass, onlyWidgets, 0, &rx, recursiveSearch);
- } else
-#endif
- {
- objSearch(list, d->children, inheritsClass, onlyWidgets, objName, 0, recursiveSearch);
- }
- return list;
-}
-#endif
/*!
\fn T *QObject::findChild(const QString &name) const
@@ -1948,16 +1754,6 @@ void QObjectPrivate::setParent_helper(QObject *o)
if (!isWidget) {
QChildEvent e(QEvent::ChildAdded, q);
QCoreApplication::sendEvent(parent, &e);
-#ifdef QT3_SUPPORT
- if (QCoreApplicationPrivate::useQt3Support) {
- if (parent->d_func()->pendingChildInsertedEvents.isEmpty()) {
- QCoreApplication::postEvent(parent,
- new QEvent(QEvent::ChildInsertedRequest),
- Qt::HighEventPriority);
- }
- parent->d_func()->pendingChildInsertedEvents.append(q);
- }
-#endif
}
}
}
diff --git a/src/corelib/kernel/qobject.h b/src/corelib/kernel/qobject.h
index 15d81b949a..0e28fa7e26 100644
--- a/src/corelib/kernel/qobject.h
+++ b/src/corelib/kernel/qobject.h
@@ -186,14 +186,6 @@ public:
}
#endif
-#ifdef QT3_SUPPORT
- QT3_SUPPORT QObject *child(const char *objName, const char *inheritsClass = 0,
- bool recursiveSearch = true) const;
- QT3_SUPPORT QObjectList queryList(const char *inheritsClass = 0,
- const char *objName = 0,
- bool regexpMatch = true,
- bool recursiveSearch = true) const;
-#endif
inline const QObjectList &children() const { return d_ptr->children; }
void setParent(QObject *);
@@ -202,44 +194,14 @@ public:
static bool connect(const QObject *sender, const char *signal,
- const QObject *receiver, const char *member, Qt::ConnectionType =
-#ifdef qdoc
- Qt::AutoConnection
-#else
-#ifdef QT3_SUPPORT
- Qt::AutoCompatConnection
-#else
- Qt::AutoConnection
-#endif
-#endif
- );
+ const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection);
static bool connect(const QObject *sender, const QMetaMethod &signal,
const QObject *receiver, const QMetaMethod &method,
- Qt::ConnectionType type =
-#ifdef qdoc
- Qt::AutoConnection
-#else
-#ifdef QT3_SUPPORT
- Qt::AutoCompatConnection
-#else
- Qt::AutoConnection
-#endif
-#endif
- );
+ Qt::ConnectionType type = Qt::AutoConnection);
inline bool connect(const QObject *sender, const char *signal,
- const char *member, Qt::ConnectionType type =
-#ifdef qdoc
- Qt::AutoConnection
-#else
-#ifdef QT3_SUPPORT
- Qt::AutoCompatConnection
-#else
- Qt::AutoConnection
-#endif
-#endif
- ) const;
+ const char *member, Qt::ConnectionType type = Qt::AutoConnection) const;
static bool disconnect(const QObject *sender, const char *signal,
const QObject *receiver, const char *member);
@@ -290,29 +252,6 @@ protected:
virtual void connectNotify(const char *signal);
virtual void disconnectNotify(const char *signal);
-#ifdef QT3_SUPPORT
-public:
- QT3_SUPPORT_CONSTRUCTOR QObject(QObject *parent, const char *name);
- inline QT3_SUPPORT void insertChild(QObject *o)
- { if (o) o->setParent(this); }
- inline QT3_SUPPORT void removeChild(QObject *o)
- { if (o) o->setParent(0); }
- inline QT3_SUPPORT bool isA(const char *classname) const
- { return qstrcmp(classname, metaObject()->className()) == 0; }
- inline QT3_SUPPORT const char *className() const { return metaObject()->className(); }
- inline QT3_SUPPORT const char *name() const { return objectName().latin1_helper(); }
- inline QT3_SUPPORT const char *name(const char *defaultName) const
- { QString s = objectName(); return s.isEmpty()?defaultName:s.latin1_helper(); }
- inline QT3_SUPPORT void setName(const char *aName) { setObjectName(QLatin1String(aName)); }
-protected:
- inline QT3_SUPPORT bool checkConnectArgs(const char *signal,
- const QObject *,
- const char *member)
- { return QMetaObject::checkConnectArgs(signal, member); }
- static inline QT3_SUPPORT QByteArray normalizeSignalSlot(const char *signalSlot)
- { return QMetaObject::normalizedSignature(signalSlot); }
-#endif
-
protected:
QObject(QObjectPrivate &dd, QObject *parent = 0);
diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
index 3968a31bb8..9151e8eb7b 100644
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
@@ -157,10 +157,6 @@ public:
void addConnection(int signal, Connection *c);
void cleanConnectionLists();
-#ifdef QT3_SUPPORT
- void sendPendingChildInsertedEvents();
-#endif
-
static inline Sender *setCurrentSender(QObject *receiver,
Sender *sender);
static inline void resetCurrentSender(QObject *receiver,
@@ -190,14 +186,6 @@ public:
Sender *currentSender; // object currently activating the object
mutable quint32 connectedSignals[2];
-#ifdef QT3_SUPPORT
- QVector< QWeakPointer<QObject> > pendingChildInsertedEvents;
-#else
- // preserve binary compatibility with code compiled without Qt 3 support
- // keeping the binary layout stable helps the Qt Creator debugger
- void *unused;
-#endif
-
QList<QPointer<QObject> > eventFilters;
union {
QObject *currentChildBeingDeleted;
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index e27afb8586..afb396ce50 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -102,10 +102,6 @@ QT_BEGIN_NAMESPACE
QTextCodec *QString::codecForCStrings;
#endif
-#ifdef QT3_SUPPORT
-static QHash<void *, QByteArray> *asciiCache = 0;
-#endif
-
#ifdef QT_USE_ICU
// qlocale_icu.cpp
extern bool qt_ucol_strcoll(const QChar *source, int sourceLength, const QChar *target, int targetLength, int *result);
@@ -802,9 +798,9 @@ const QString::Null QString::null = { };
*/
QString::Data QString::shared_null = { Q_BASIC_ATOMIC_INITIALIZER(1),
- 0, 0, shared_null.array, 0, 0, 0, 0, 0, 0, {0} };
+ 0, 0, shared_null.array, 0, 0, 0, 0, 0, {0} };
QString::Data QString::shared_empty = { Q_BASIC_ATOMIC_INITIALIZER(1),
- 0, 0, shared_empty.array, 0, 0, 0, 0, 0, 0, {0} };
+ 0, 0, shared_empty.array, 0, 0, 0, 0, 0, {0} };
int QString::grow(int size)
{
@@ -1058,7 +1054,7 @@ QString::QString(const QChar *unicode, int size)
Q_CHECK_PTR(d);
d->ref = 1;
d->alloc = d->size = size;
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
d->data = d->array;
memcpy(d->array, unicode, size * sizeof(QChar));
d->array[size] = '\0';
@@ -1091,7 +1087,7 @@ QString::QString(const QChar *unicode)
Q_CHECK_PTR(d);
d->ref = 1;
d->alloc = d->size = size;
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
d->data = d->array;
memcpy(d->array, unicode, size * sizeof(QChar));
d->array[size] = '\0';
@@ -1116,7 +1112,7 @@ QString::QString(int size, QChar ch)
Q_CHECK_PTR(d);
d->ref = 1;
d->alloc = d->size = size;
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
d->data = d->array;
d->array[size] = '\0';
ushort *i = d->array + size;
@@ -1139,7 +1135,7 @@ QString::QString(int size, Qt::Initialization)
Q_CHECK_PTR(d);
d->ref = 1;
d->alloc = d->size = size;
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
d->data = d->array;
d->array[size] = '\0';
}
@@ -1161,7 +1157,7 @@ QString::QString(QChar ch)
d = reinterpret_cast<Data *>(buf);
d->ref = 1;
d->alloc = d->size = 1;
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
d->data = d->array;
d->array[0] = ch.unicode();
d->array[1] = '\0';
@@ -1222,12 +1218,6 @@ QString::QString(QChar ch)
// ### Qt 5: rename freeData() to avoid confusion. See task 197625.
void QString::free(Data *d)
{
-#ifdef QT3_SUPPORT
- if (d->asciiCache) {
- Q_ASSERT(asciiCache);
- asciiCache->remove(d);
- }
-#endif
qFree(d);
}
@@ -1344,7 +1334,6 @@ void QString::realloc(int alloc)
x->size = qMin(alloc, d->size);
::memcpy(x->array, d->data, x->size * sizeof(QChar));
x->array[x->size] = 0;
- x->asciiCache = 0;
x->ref = 1;
x->alloc = alloc;
x->clean = d->clean;
@@ -1356,12 +1345,6 @@ void QString::realloc(int alloc)
QString::free(d);
d = x;
} else {
-#ifdef QT3_SUPPORT
- if (d->asciiCache) {
- Q_ASSERT(asciiCache);
- asciiCache->remove(d);
- }
-#endif
Data *p = static_cast<Data *>(qRealloc(d, sizeof(Data) + alloc * sizeof(QChar)));
Q_CHECK_PTR(p);
d = p;
@@ -3794,7 +3777,7 @@ QString::Data *QString::fromLatin1_helper(const char *str, int size)
Q_CHECK_PTR(d);
d->ref = 1;
d->alloc = d->size = size;
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
d->data = d->array;
d->array[size] = '\0';
ushort *dst = d->data;
@@ -3868,44 +3851,6 @@ QString QString::fromLatin1(const char *str, int size)
}
-#ifdef QT3_SUPPORT
-
-/*!
- \internal
-*/
-const char *QString::ascii_helper() const
-{
- if (!asciiCache)
- asciiCache = new QHash<void *, QByteArray>();
-
- d->asciiCache = true;
- QByteArray ascii = toAscii();
- QByteArray old = asciiCache->value(d);
- if (old == ascii)
- return old.constData();
- asciiCache->insert(d, ascii);
- return ascii.constData();
-}
-
-/*!
- \internal
-*/
-const char *QString::latin1_helper() const
-{
- if (!asciiCache)
- asciiCache = new QHash<void *, QByteArray>();
-
- d->asciiCache = true;
- QByteArray ascii = toLatin1();
- QByteArray old = asciiCache->value(d);
- if (old == ascii)
- return old.constData();
- asciiCache->insert(d, ascii);
- return ascii.constData();
-}
-
-#endif
-
/*!
Returns a QString initialized with the first \a size characters
of the 8-bit string \a str.
@@ -4636,25 +4581,16 @@ QString& QString::fill(QChar ch, int size)
sensitivity setting \a cs.
*/
+
/*!
\overload compare()
+ \since 4.2
Lexically compares this string with the \a other string and
returns an integer less than, equal to, or greater than zero if
this string is less than, equal to, or greater than the other
string.
- Equivalent to \c {compare(*this, other)}.
-*/
-int QString::compare(const QString &other) const
-{
- return ucstrcmp(constData(), length(), other.constData(), other.length());
-}
-
-/*!
- \overload compare()
- \since 4.2
-
Same as compare(*this, \a other, \a cs).
*/
int QString::compare(const QString &other, Qt::CaseSensitivity cs) const
@@ -7196,7 +7132,7 @@ QString QString::fromRawData(const QChar *unicode, int size)
x->ref = 1;
x->alloc = x->size = size;
*x->array = '\0';
- x->clean = x->asciiCache = x->simpletext = x->righttoleft = x->capacity = 0;
+ x->clean = x->simpletext = x->righttoleft = x->capacity = 0;
return QString(x, 0);
}
@@ -7219,12 +7155,6 @@ QString &QString::setRawData(const QChar *unicode, int size)
if (d->ref != 1 || (d->data == d->array && d->alloc)) {
*this = fromRawData(unicode, size);
} else {
-#ifdef QT3_SUPPORT
- if (d->asciiCache) {
- Q_ASSERT(asciiCache);
- asciiCache->remove(d);
- }
-#endif
if (unicode) {
d->data = (ushort *)unicode;
} else {
@@ -7233,7 +7163,7 @@ QString &QString::setRawData(const QChar *unicode, int size)
}
d->alloc = d->size = size;
*d->array = '\0';
- d->clean = d->asciiCache = d->simpletext = d->righttoleft = d->capacity = 0;
+ d->clean = d->simpletext = d->righttoleft = d->capacity = 0;
}
return *this;
}
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h
index c61d09e37d..154012d132 100644
--- a/src/corelib/tools/qstring.h
+++ b/src/corelib/tools/qstring.h
@@ -46,9 +46,6 @@
#include <QtCore/qbytearray.h>
#include <QtCore/qatomic.h>
#include <QtCore/qnamespace.h>
-#ifdef QT_INCLUDE_COMPAT
-#include <Qt3Support/q3cstring.h>
-#endif
#ifndef QT_NO_STL
# include <string>
@@ -340,16 +337,10 @@ public:
QString &setUnicode(const QChar *unicode, int size);
inline QString &setUtf16(const ushort *utf16, int size);
- // ### Qt 5: merge these two functions
- int compare(const QString &s) const;
- int compare(const QString &s, Qt::CaseSensitivity cs) const;
-
+ int compare(const QString &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
int compare(const QLatin1String &other, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- // ### Qt 5: merge these two functions
- static inline int compare(const QString &s1, const QString &s2)
- { return s1.compare(s2); }
- static inline int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs)
+ static inline int compare(const QString &s1, const QString &s2, Qt::CaseSensitivity cs = Qt::CaseSensitive)
{ return s1.compare(s2, cs); }
static inline int compare(const QString& s1, const QLatin1String &s2,
@@ -504,86 +495,6 @@ public:
inline QString &operator=(const Null &) { *this = QString(); return *this; }
inline bool isNull() const { return d == &shared_null; }
-#ifdef QT3_SUPPORT
- inline QT3_SUPPORT const char *ascii() const { return ascii_helper(); }
- inline QT3_SUPPORT const char *latin1() const { return latin1_helper(); }
- inline QT3_SUPPORT QByteArray utf8() const { return toUtf8(); }
- inline QT3_SUPPORT QByteArray local8Bit() const{ return toLocal8Bit(); }
- inline QT3_SUPPORT void setLength(int nl) { resize(nl); }
- inline QT3_SUPPORT QString copy() const { return *this; }
- inline QT3_SUPPORT QString &remove(QChar c, bool cs)
- { return remove(c, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT QString &remove(const QString &s, bool cs)
- { return remove(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT QString &replace(QChar c, const QString &after, bool cs)
- { return replace(c, after, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT QString &replace(const QString &before, const QString &after, bool cs)
- { return replace(before, after, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
-#ifndef QT_NO_CAST_FROM_ASCII
- inline QT3_SUPPORT QString &replace(char c, const QString &after, bool cs)
- { return replace(QChar::fromAscii(c), after, cs ? Qt::CaseSensitive : Qt::CaseInsensitive); }
- // strange overload, required to avoid GCC 3.3 error
- inline QT3_SUPPORT QString &replace(char c, const QString &after, Qt::CaseSensitivity cs)
- { return replace(QChar::fromAscii(c), after, cs ? Qt::CaseSensitive : Qt::CaseInsensitive); }
-#endif
- inline QT3_SUPPORT int find(QChar c, int i = 0, bool cs = true) const
- { return indexOf(c, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT int find(const QString &s, int i = 0, bool cs = true) const
- { return indexOf(s, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT int findRev(QChar c, int i = -1, bool cs = true) const
- { return lastIndexOf(c, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT int findRev(const QString &s, int i = -1, bool cs = true) const
- { return lastIndexOf(s, i, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
-#ifndef QT_NO_REGEXP
- inline QT3_SUPPORT int find(const QRegExp &rx, int i=0) const
- { return indexOf(rx, i); }
- inline QT3_SUPPORT int findRev(const QRegExp &rx, int i=-1) const
- { return lastIndexOf(rx, i); }
- inline QT3_SUPPORT int find(QRegExp &rx, int i=0) const
- { return indexOf(rx, i); }
- inline QT3_SUPPORT int findRev(QRegExp &rx, int i=-1) const
- { return lastIndexOf(rx, i); }
-#endif
- inline QT3_SUPPORT QBool contains(QChar c, bool cs) const
- { return contains(c, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT QBool contains(const QString &s, bool cs) const
- { return contains(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT bool startsWith(const QString &s, bool cs) const
- { return startsWith(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT bool endsWith(const QString &s, bool cs) const
- { return endsWith(s, cs?Qt::CaseSensitive:Qt::CaseInsensitive); }
- inline QT3_SUPPORT QChar constref(uint i) const
- { return at(i); }
- QT3_SUPPORT QChar &ref(uint i);
- inline QT3_SUPPORT QString leftJustify(int width, QChar aFill = QLatin1Char(' '), bool trunc=false) const
- { return leftJustified(width, aFill, trunc); }
- inline QT3_SUPPORT QString rightJustify(int width, QChar aFill = QLatin1Char(' '), bool trunc=false) const
- { return rightJustified(width, aFill, trunc); }
- inline QT3_SUPPORT QString lower() const { return toLower(); }
- inline QT3_SUPPORT QString upper() const { return toUpper(); }
- inline QT3_SUPPORT QString stripWhiteSpace() const { return trimmed(); }
- inline QT3_SUPPORT QString simplifyWhiteSpace() const { return simplified(); }
- inline QT3_SUPPORT QString &setUnicodeCodes(const ushort *unicode_as_ushorts, int aSize)
- { return setUtf16(unicode_as_ushorts, aSize); }
- inline QT3_SUPPORT const ushort *ucs2() const { return utf16(); }
- inline static QT3_SUPPORT QString fromUcs2(const ushort *unicode, int size = -1)
- { return fromUtf16(unicode, size); }
- inline QT3_SUPPORT QString &setAscii(const char *str, int len = -1)
- { *this = fromAscii(str, len); return *this; }
- inline QT3_SUPPORT QString &setLatin1(const char *str, int len = -1)
- { *this = fromLatin1(str, len); return *this; }
-protected:
- friend class QObject;
- const char *ascii_helper() const;
- const char *latin1_helper() const;
-public:
-#ifndef QT_NO_CAST_TO_ASCII
- inline QT3_SUPPORT operator const char *() const { return ascii_helper(); }
-private:
- QT3_SUPPORT operator QNoImplicitBoolCast() const;
-public:
-#endif
-#endif
bool isSimpleText() const { if (!d->clean) updateProperties(); return d->simpletext; }
bool isRightToLeft() const;
@@ -607,7 +518,6 @@ private:
ushort clean : 1;
ushort simpletext : 1;
ushort righttoleft : 1;
- ushort asciiCache : 1;
ushort capacity : 1;
ushort reserved : 11;
// ### Qt5: try to ensure that "array" is aligned to 16 bytes on both 32- and 64-bit
@@ -857,18 +767,6 @@ public:
#endif
ushort& unicode() { return s.data()[i].unicode(); }
-#ifdef QT3_SUPPORT
- inline QT3_SUPPORT bool mirrored() const { return hasMirrored(); }
- inline QT3_SUPPORT QChar lower() const { return QChar(*this).toLower(); }
- inline QT3_SUPPORT QChar upper() const { return QChar(*this).toUpper(); }
-#ifdef Q_COMPILER_MANGLES_RETURN_TYPE
- const QT3_SUPPORT char latin1() const { return QChar(*this).toLatin1(); }
- const QT3_SUPPORT char ascii() const { return QChar(*this).toAscii(); }
-#else
- QT3_SUPPORT char latin1() const { return QChar(*this).toLatin1(); }
- QT3_SUPPORT char ascii() const { return QChar(*this).toAscii(); }
-#endif
-#endif
};
inline void QCharRef::setRow(uchar arow) { QChar(*this).setRow(arow); }
@@ -1008,12 +906,6 @@ inline int QByteArray::indexOf(const QString &s, int from) const
{ return indexOf(s.toAscii(), from); }
inline int QByteArray::lastIndexOf(const QString &s, int from) const
{ return lastIndexOf(s.toAscii(), from); }
-# ifdef QT3_SUPPORT
-inline int QByteArray::find(const QString &s, int from) const
-{ return indexOf(s.toAscii(), from); }
-inline int QByteArray::findRev(const QString &s, int from) const
-{ return lastIndexOf(s.toAscii(), from); }
-# endif // QT3_SUPPORT
#endif // QT_NO_CAST_TO_ASCII
#if !defined(QT_USE_FAST_OPERATOR_PLUS) && !defined(QT_USE_QSTRINGBUILDER)
@@ -1066,30 +958,11 @@ inline QString QString::fromStdWString(const QStdWString &s)
# endif
#endif
-#ifdef QT3_SUPPORT
-inline QChar &QString::ref(uint i)
-{
- if (int(i) > d->size || d->ref != 1)
- resize(qMax(int(i), d->size));
- return reinterpret_cast<QChar&>(d->data[i]);
-}
-#endif
-
#if !defined(QT_NO_DATASTREAM) || (defined(QT_BOOTSTRAPPED) && !defined(QT_BUILD_QMAKE))
Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QString &);
Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QString &);
#endif
-#ifdef QT3_SUPPORT
-class QConstString : public QString
-{
-public:
- inline QT3_SUPPORT_CONSTRUCTOR QConstString(const QChar *aUnicode, int aSize)
- :QString(aUnicode, aSize){} // cannot use fromRawData() due to changed semantics
- inline QT3_SUPPORT const QString &string() const { return *this; }
-};
-#endif
-
Q_DECLARE_TYPEINFO(QString, Q_MOVABLE_TYPE);
Q_DECLARE_SHARED(QString)
Q_DECLARE_OPERATORS_FOR_FLAGS(QString::SectionFlags)