summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/io/qurl.h9
-rw-r--r--src/corelib/io/qurlquery.h39
2 files changed, 48 insertions, 0 deletions
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<QPair<QByteArray, QByteArray> > &query);
+ QT_DEPRECATED inline void addEncodedQueryItem(const QByteArray &key, const QByteArray &value);
+ QT_DEPRECATED inline QList<QPair<QByteArray, QByteArray> > encodedQueryItems() const;
+ QT_DEPRECATED inline bool hasEncodedQueryItem(const QByteArray &key) const;
+ QT_DEPRECATED inline QByteArray encodedQueryItemValue(const QByteArray &key) const;
+ QT_DEPRECATED inline QList<QByteArray> 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<QPair<QByteArray, QByteArray> > &qry)
+{
+ QUrlQuery q(*this);
+ QList<QPair<QByteArray, QByteArray> >::ConstIterator it = qry.constBegin();
+ for ( ; it != qry.constEnd(); ++it)
+ q.addQueryItem(QString::fromUtf8(it->first), QString::fromUtf8(it->second));
+ setQuery(q);
+}
+inline QList<QPair<QByteArray, QByteArray> > QUrl::encodedQueryItems() const
+{
+ QList<QPair<QString, QString> > items = QUrlQuery(*this).queryItems(QUrl::FullyEncoded);
+ QList<QPair<QString, QString> >::ConstIterator it = items.constBegin();
+ QList<QPair<QByteArray, QByteArray> > result;
+ result.reserve(items.size());
+ for ( ; it != items.constEnd(); ++it)
+ result << qMakePair(it->first.toLatin1(), it->second.toLatin1());
+ return result;
+}
+inline QList<QByteArray> QUrl::allEncodedQueryItemValues(const QByteArray &key) const
+{
+ QStringList items = QUrlQuery(*this).allQueryItemValues(QString::fromUtf8(key), QUrl::FullyEncoded);
+ QList<QByteArray> result;
+ result.reserve(items.size());
+ Q_FOREACH (const QString &item, items)
+ result << item.toLatin1();
+ return result;
+}
#endif
QT_END_NAMESPACE