From 495309387313f2954ef9725078824b0972cd5ce4 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 12 Apr 2012 13:36:23 -0300 Subject: Re-add the Qt 4 compatibility methods for QUrl encoded query items I forgot to re-add those when I re-added the non-encoded (QString) forms. Change-Id: I9d635d40106273177df2c332f09d66415efc15a3 Reviewed-by: Lars Knoll --- src/corelib/io/qurl.h | 9 +++++++++ src/corelib/io/qurlquery.h | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h index dbfc327caf..7c6e47c73f 100644 --- a/src/corelib/io/qurl.h +++ b/src/corelib/io/qurl.h @@ -259,6 +259,15 @@ public: QT_DEPRECATED inline void removeQueryItem(const QString &key); QT_DEPRECATED inline void removeAllQueryItems(const QString &key); + QT_DEPRECATED inline void setEncodedQueryItems(const QList > &query); + QT_DEPRECATED inline void addEncodedQueryItem(const QByteArray &key, const QByteArray &value); + QT_DEPRECATED inline QList > encodedQueryItems() const; + QT_DEPRECATED inline bool hasEncodedQueryItem(const QByteArray &key) const; + QT_DEPRECATED inline QByteArray encodedQueryItemValue(const QByteArray &key) const; + QT_DEPRECATED inline QList allEncodedQueryItemValues(const QByteArray &key) const; + QT_DEPRECATED inline void removeEncodedQueryItem(const QByteArray &key); + QT_DEPRECATED inline void removeAllEncodedQueryItems(const QByteArray &key); + QT_DEPRECATED void setEncodedUrl(const QByteArray &u, ParsingMode mode = TolerantMode) { setUrl(QString::fromUtf8(u.constData(), u.size()), mode); } diff --git a/src/corelib/io/qurlquery.h b/src/corelib/io/qurlquery.h index 5b8149dc0a..4b9d104498 100644 --- a/src/corelib/io/qurlquery.h +++ b/src/corelib/io/qurlquery.h @@ -131,6 +131,45 @@ inline void QUrl::removeQueryItem(const QString &key) { QUrlQuery q(*this); q.removeQueryItem(key); setQuery(q); } inline void QUrl::removeAllQueryItems(const QString &key) { QUrlQuery q(*this); q.removeAllQueryItems(key); } + +inline void QUrl::addEncodedQueryItem(const QByteArray &key, const QByteArray &value) +{ QUrlQuery q(*this); q.addQueryItem(QString::fromUtf8(key), QString::fromUtf8(value)); setQuery(q); } +inline bool QUrl::hasEncodedQueryItem(const QByteArray &key) const +{ return QUrlQuery(*this).hasQueryItem(QString::fromUtf8(key)); } +inline QByteArray QUrl::encodedQueryItemValue(const QByteArray &key) const +{ return QUrlQuery(*this).queryItemValue(QString::fromUtf8(key), QUrl::FullyEncoded).toLatin1(); } +inline void QUrl::removeEncodedQueryItem(const QByteArray &key) +{ QUrlQuery q(*this); q.removeQueryItem(QString::fromUtf8(key)); setQuery(q); } +inline void QUrl::removeAllEncodedQueryItems(const QByteArray &key) +{ QUrlQuery q(*this); q.removeAllQueryItems(QString::fromUtf8(key)); } + +inline void QUrl::setEncodedQueryItems(const QList > &qry) +{ + QUrlQuery q(*this); + QList >::ConstIterator it = qry.constBegin(); + for ( ; it != qry.constEnd(); ++it) + q.addQueryItem(QString::fromUtf8(it->first), QString::fromUtf8(it->second)); + setQuery(q); +} +inline QList > QUrl::encodedQueryItems() const +{ + QList > items = QUrlQuery(*this).queryItems(QUrl::FullyEncoded); + QList >::ConstIterator it = items.constBegin(); + QList > result; + result.reserve(items.size()); + for ( ; it != items.constEnd(); ++it) + result << qMakePair(it->first.toLatin1(), it->second.toLatin1()); + return result; +} +inline QList QUrl::allEncodedQueryItemValues(const QByteArray &key) const +{ + QStringList items = QUrlQuery(*this).allQueryItemValues(QString::fromUtf8(key), QUrl::FullyEncoded); + QList result; + result.reserve(items.size()); + Q_FOREACH (const QString &item, items) + result << item.toLatin1(); + return result; +} #endif QT_END_NAMESPACE -- cgit v1.2.3