summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java57
-rw-r--r--src/corelib/doc/snippets/qstring/main.cpp14
-rw-r--r--src/corelib/io/qdir.cpp4
-rw-r--r--src/corelib/io/qfileselector.cpp2
-rw-r--r--src/corelib/io/qfilesystemengine_win.cpp2
-rw-r--r--src/corelib/io/qfilesystemiterator_win.cpp2
-rw-r--r--src/corelib/io/qprocess.cpp2
-rw-r--r--src/corelib/io/qprocess.h2
-rw-r--r--src/corelib/io/qsettings_winrt.cpp2
-rw-r--r--src/corelib/io/qstandardpaths.cpp3
-rw-r--r--src/corelib/io/qstandardpaths_unix.cpp2
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp2
-rw-r--r--src/corelib/kernel/qmetatype.cpp4
-rw-r--r--src/corelib/plugin/qsystemlibrary.cpp2
-rw-r--r--src/corelib/serialization/qjsondocument.cpp14
-rw-r--r--src/corelib/text/qbytearray.cpp2
-rw-r--r--src/corelib/text/qstring.cpp186
-rw-r--r--src/corelib/text/qstring.h103
-rw-r--r--src/corelib/text/qstringlist.h17
-rw-r--r--src/corelib/time/qdatetime.cpp6
-rw-r--r--src/corelib/tools/qvector.h18
-rw-r--r--src/dbus/qdbusmisc.cpp2
-rw-r--r--src/dbus/qdbusxmlgenerator.cpp2
-rw-r--r--src/gui/image/qimage.cpp2
-rw-r--r--src/gui/kernel/qevent.cpp8
-rw-r--r--src/gui/kernel/qguiapplication.cpp4
-rw-r--r--src/gui/kernel/qplatformdialoghelper.cpp2
-rw-r--r--src/gui/painting/qpdfwriter.cpp2
-rw-r--r--src/gui/text/qcssparser.cpp2
-rw-r--r--src/network/access/qnetworkreplywasmimpl.cpp2
-rw-r--r--src/network/bearer/qnetworkconfigmanager.cpp1
-rw-r--r--src/network/bearer/qnetworkconfigmanager.h19
-rw-r--r--src/network/bearer/qnetworkconfiguration.cpp1
-rw-r--r--src/network/bearer/qnetworkconfiguration.h19
-rw-r--r--src/network/bearer/qnetworksession.cpp1
-rw-r--r--src/network/bearer/qnetworksession.h19
-rw-r--r--src/network/configure.cmake2
-rw-r--r--src/network/configure.json2
-rw-r--r--src/network/kernel/qnetworkproxy.h6
-rw-r--r--src/network/kernel/qtldurl.cpp2
-rw-r--r--src/network/ssl/qsslsocket.cpp2
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp2
-rw-r--r--src/network/ssl/qsslsocket_openssl_symbols.cpp4
-rw-r--r--src/platformsupport/devicediscovery/qdevicediscovery_udev.cpp2
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor.cpp8
-rw-r--r--src/platformsupport/themes/genericunix/qgenericunixthemes.cpp2
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.cpp47
-rw-r--r--src/plugins/platforms/android/androidcontentfileengine.h6
-rw-r--r--src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp2
-rw-r--r--src/plugins/sqldrivers/db2/qsql_db2.cpp2
-rw-r--r--src/plugins/sqldrivers/ibase/qsql_ibase.cpp2
-rw-r--r--src/plugins/sqldrivers/mysql/qsql_mysql.cpp2
-rw-r--r--src/plugins/sqldrivers/oci/qsql_oci.cpp2
-rw-r--r--src/plugins/sqldrivers/odbc/qsql_odbc.cpp2
-rw-r--r--src/tools/androiddeployqt/main.cpp4
-rw-r--r--src/tools/tracegen/provider.cpp3
-rw-r--r--src/widgets/dialogs/qfiledialog.cpp2
-rw-r--r--src/widgets/dialogs/qfilesystemmodel.cpp2
-rw-r--r--src/widgets/dialogs/qinputdialog.h1
-rw-r--r--src/widgets/doc/snippets/dockwidgets/mainwindow.cpp2
-rw-r--r--src/widgets/itemviews/qdirmodel.cpp2
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp2
-rw-r--r--src/widgets/widgets/qtabbar.h6
-rw-r--r--src/widgets/widgets/qtabwidget.h10
64 files changed, 481 insertions, 182 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
index 87d326e225..a8bf4c15e1 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
@@ -44,6 +44,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.concurrent.Semaphore;
+import java.io.IOException;
import android.app.Activity;
import android.app.Service;
@@ -70,6 +71,7 @@ import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.InputDevice;
+import android.database.Cursor;
import java.lang.reflect.Method;
import java.security.KeyStore;
@@ -231,6 +233,61 @@ public class QtNative
}
}
+ public static long getSize(Context context, String contentUrl)
+ {
+ Uri uri = getUriWithValidPermission(context, contentUrl, "r");
+ long size = -1;
+
+ if (uri == null) {
+ Log.e(QtTAG, "getSize(): No permissions to open Uri");
+ return size;
+ }
+
+ try {
+ ContentResolver resolver = context.getContentResolver();
+ Cursor cur = resolver.query(uri, null, null, null, null);
+ if (cur != null) {
+ if (cur.moveToFirst())
+ size = cur.getLong(5); // size column
+ cur.close();
+ }
+ return size;
+ } catch (IllegalArgumentException e) {
+ Log.e(QtTAG, "getSize(): Invalid Uri");
+ return size;
+ } catch (UnsupportedOperationException e) {
+ Log.e(QtTAG, "getSize(): Unsupported operation for given Uri");
+ return size;
+ }
+ }
+
+ public static boolean checkFileExists(Context context, String contentUrl)
+ {
+ Uri uri = getUriWithValidPermission(context, contentUrl, "r");
+ boolean exists = false;
+
+ if (uri == null) {
+ Log.e(QtTAG, "checkFileExists(): No permissions to open Uri");
+ return exists;
+ }
+
+ try {
+ ContentResolver resolver = context.getContentResolver();
+ Cursor cur = resolver.query(uri, null, null, null, null);
+ if (cur != null) {
+ exists = true;
+ cur.close();
+ }
+ return exists;
+ } catch (IllegalArgumentException e) {
+ Log.e(QtTAG, "checkFileExists(): Invalid Uri");
+ return exists;
+ } catch (UnsupportedOperationException e) {
+ Log.e(QtTAG, "checkFileExists(): Unsupported operation for given Uri");
+ return false;
+ }
+ }
+
// this method loads full path libs
public static void loadQtLibraries(final ArrayList<String> libraries)
{
diff --git a/src/corelib/doc/snippets/qstring/main.cpp b/src/corelib/doc/snippets/qstring/main.cpp
index f797890e5d..271b6d7afc 100644
--- a/src/corelib/doc/snippets/qstring/main.cpp
+++ b/src/corelib/doc/snippets/qstring/main.cpp
@@ -762,7 +762,7 @@ void Widget::splitFunction()
//! [60]
str = "This time, a normal English sentence.";
- list = str.split(QRegExp("\\W+"), QString::SkipEmptyParts);
+ list = str.split(QRegExp("\\W+"), Qt::SkipEmptyParts);
// list: [ "This", "time", "a", "normal", "English", "sentence" ]
//! [60]
@@ -783,7 +783,7 @@ void Widget::splitFunction()
//! [91]
str = "This time, a normal English sentence.";
- list = str.split(QRegularExpression("\\W+"), QString::SkipEmptyParts);
+ list = str.split(QRegularExpression("\\W+"), Qt::SkipEmptyParts);
// list: [ "This", "time", "a", "normal", "English", "sentence" ]
//! [91]
@@ -797,24 +797,24 @@ void Widget::splitFunction()
void Widget::splitCaseSensitiveFunction()
{
//! [62]
- QString str = "a,,b,c";
+ QString str = QStringLiteral("a,,b,c");
- QStringList list1 = str.split(',');
+ QStringList list1 = str.split(QLatin1Char(','));
// list1: [ "a", "", "b", "c" ]
- QStringList list2 = str.split(',', QString::SkipEmptyParts);
+ QStringList list2 = str.split(QLatin1Char(','), Qt::SkipEmptyParts);
// list2: [ "a", "b", "c" ]
//! [62]
//! [62-empty]
QString str = "abc";
- auto parts = str.split("");
+ auto parts = str.split(QString());
// parts: {"", "a", "b", "c", ""}
//! [62-empty]
//! [62-slashes]
QString str = "/a/b/c/";
- auto parts = str.split('/');
+ auto parts = str.split(QLatin1Char('/'));
// parts: {"", "a", "b", "c", ""}
//! [62-slashes]
}
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp
index 526702d151..5ce3fbcca8 100644
--- a/src/corelib/io/qdir.cpp
+++ b/src/corelib/io/qdir.cpp
@@ -867,8 +867,8 @@ QString QDir::relativeFilePath(const QString &fileName) const
#endif
QString result;
- QVector<QStringRef> dirElts = dir.splitRef(QLatin1Char('/'), QString::SkipEmptyParts);
- QVector<QStringRef> fileElts = file.splitRef(QLatin1Char('/'), QString::SkipEmptyParts);
+ QVector<QStringRef> dirElts = dir.splitRef(QLatin1Char('/'), Qt::SkipEmptyParts);
+ QVector<QStringRef> fileElts = file.splitRef(QLatin1Char('/'), Qt::SkipEmptyParts);
int i = 0;
while (i < dirElts.size() && i < fileElts.size() &&
diff --git a/src/corelib/io/qfileselector.cpp b/src/corelib/io/qfileselector.cpp
index 7adaafea18..0c42a98b37 100644
--- a/src/corelib/io/qfileselector.cpp
+++ b/src/corelib/io/qfileselector.cpp
@@ -324,7 +324,7 @@ void QFileSelectorPrivate::updateSelectors()
QLatin1Char pathSep(',');
QStringList envSelectors = QString::fromLatin1(qgetenv("QT_FILE_SELECTORS"))
- .split(pathSep, QString::SkipEmptyParts);
+ .split(pathSep, Qt::SkipEmptyParts);
if (envSelectors.count())
sharedData->staticSelectors << envSelectors;
diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp
index 36d43e9cb7..6ad123f3b6 100644
--- a/src/corelib/io/qfilesystemengine_win.cpp
+++ b/src/corelib/io/qfilesystemengine_win.cpp
@@ -394,7 +394,7 @@ static QString readLink(const QFileSystemEntry &link)
static bool uncShareExists(const QString &server)
{
// This code assumes the UNC path is always like \\?\UNC\server...
- const QVector<QStringRef> parts = server.splitRef(QLatin1Char('\\'), QString::SkipEmptyParts);
+ const QVector<QStringRef> parts = server.splitRef(QLatin1Char('\\'), Qt::SkipEmptyParts);
if (parts.count() >= 3) {
QStringList shares;
if (QFileSystemEngine::uncListSharesOnServer(QLatin1String("\\\\") + parts.at(2), &shares))
diff --git a/src/corelib/io/qfilesystemiterator_win.cpp b/src/corelib/io/qfilesystemiterator_win.cpp
index 6741282881..a2a4271ba9 100644
--- a/src/corelib/io/qfilesystemiterator_win.cpp
+++ b/src/corelib/io/qfilesystemiterator_win.cpp
@@ -101,7 +101,7 @@ bool QFileSystemIterator::advance(QFileSystemEntry &fileEntry, QFileSystemMetaDa
FINDEX_SEARCH_OPS(searchOps), 0, dwAdditionalFlags);
if (findFileHandle == INVALID_HANDLE_VALUE) {
if (nativePath.startsWith(QLatin1String("\\\\?\\UNC\\"))) {
- const QVector<QStringRef> parts = nativePath.splitRef(QLatin1Char('\\'), QString::SkipEmptyParts);
+ const QVector<QStringRef> parts = nativePath.splitRef(QLatin1Char('\\'), Qt::SkipEmptyParts);
if (parts.count() == 4 && QFileSystemEngine::uncListSharesOnServer(
QLatin1String("\\\\") + parts.at(2), &uncShares)) {
if (uncShares.isEmpty())
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index acc60915e7..73e192fa3e 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -2239,7 +2239,7 @@ void QProcessPrivate::start(QIODevice::OpenMode mode)
Tokens with spaces can be surrounded by double quotes; three
consecutive double quotes represent the quote character itself.
*/
-QStringList QProcess::splitCommand(const QString &command)
+QStringList QProcess::splitCommand(QStringView command)
{
QStringList args;
QString tmp;
diff --git a/src/corelib/io/qprocess.h b/src/corelib/io/qprocess.h
index 0ef02b196d..fe11aa2ec6 100644
--- a/src/corelib/io/qprocess.h
+++ b/src/corelib/io/qprocess.h
@@ -282,7 +282,7 @@ public:
static QString nullDevice();
- static QStringList splitCommand(const QString &command);
+ static QStringList splitCommand(QStringView command);
public Q_SLOTS:
void terminate();
diff --git a/src/corelib/io/qsettings_winrt.cpp b/src/corelib/io/qsettings_winrt.cpp
index e91d4d64a2..a208262ab4 100644
--- a/src/corelib/io/qsettings_winrt.cpp
+++ b/src/corelib/io/qsettings_winrt.cpp
@@ -646,7 +646,7 @@ IApplicationDataContainer *QWinRTSettingsPrivate::getContainer(IApplicationDataC
IApplicationDataContainer *current = parent;
if (group.isEmpty())
return current;
- const QStringList groupPath = group.split(QLatin1Char('/'), QString::SkipEmptyParts);
+ const QStringList groupPath = group.split(QLatin1Char('/'), Qt::SkipEmptyParts);
for (const QString &subGroup : groupPath) {
ComPtr<IApplicationDataContainer> sub = subContainer(current, subGroup);
diff --git a/src/corelib/io/qstandardpaths.cpp b/src/corelib/io/qstandardpaths.cpp
index 9d773e6f52..d95c9015cc 100644
--- a/src/corelib/io/qstandardpaths.cpp
+++ b/src/corelib/io/qstandardpaths.cpp
@@ -512,7 +512,8 @@ QString QStandardPaths::findExecutable(const QString &executableName, const QStr
}
// Remove trailing slashes, which occur on Windows.
- const QStringList rawPaths = QString::fromLocal8Bit(pEnv.constData()).split(QDir::listSeparator(), QString::SkipEmptyParts);
+ const QStringList rawPaths = QString::fromLocal8Bit(pEnv.constData()).split(
+ QDir::listSeparator(), Qt::SkipEmptyParts);
searchPaths.reserve(rawPaths.size());
for (const QString &rawPath : rawPaths) {
QString cleanPath = QDir::cleanPath(rawPath);
diff --git a/src/corelib/io/qstandardpaths_unix.cpp b/src/corelib/io/qstandardpaths_unix.cpp
index 5f4955c53f..ec37ce7d76 100644
--- a/src/corelib/io/qstandardpaths_unix.cpp
+++ b/src/corelib/io/qstandardpaths_unix.cpp
@@ -283,7 +283,7 @@ static QStringList xdgDataDirs()
dirs.append(QString::fromLatin1("/usr/local/share"));
dirs.append(QString::fromLatin1("/usr/share"));
} else {
- const auto parts = xdgDataDirsEnv.splitRef(QLatin1Char(':'), QString::SkipEmptyParts);
+ const auto parts = xdgDataDirsEnv.splitRef(QLatin1Char(':'), Qt::SkipEmptyParts);
// Normalize paths, skip relative paths
for (const QStringRef &dir : parts) {
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index dc46695f80..09d2e194ba 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -2693,7 +2693,7 @@ QStringList QCoreApplication::libraryPathsLocked()
auto setPathsFromEnv = [&](QString libPathEnv) {
if (!libPathEnv.isEmpty()) {
- QStringList paths = libPathEnv.split(QDir::listSeparator(), QString::SkipEmptyParts);
+ QStringList paths = libPathEnv.split(QDir::listSeparator(), Qt::SkipEmptyParts);
for (QStringList::const_iterator it = paths.constBegin(); it != paths.constEnd(); ++it) {
QString canonicalPath = QDir(*it).canonicalPath();
if (!canonicalPath.isEmpty()
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index da4d98955d..c81f958e74 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -718,7 +718,7 @@ QMetaType &QMetaType::operator=(const QMetaType &other)
\relates QMetaType
\overload
- Returns \c true if the QMetaType \a a represents a difference type
+ Returns \c true if the QMetaType \a a represents a different type
than the QMetaType \a b, otherwise returns \c false.
*/
@@ -1750,7 +1750,7 @@ static QtPrivate::QMetaTypeInterface *interfaceForType(int typeId)
Constructs a QMetaType object that contains all information about type \a typeId.
- \note: The default parameter was added in Qt 5.15
+ \note The default parameter was added in Qt 5.15.
*/
QMetaType::QMetaType(int typeId) : QMetaType(interfaceForType(typeId)) {}
diff --git a/src/corelib/plugin/qsystemlibrary.cpp b/src/corelib/plugin/qsystemlibrary.cpp
index 1f8cef790c..1a88476596 100644
--- a/src/corelib/plugin/qsystemlibrary.cpp
+++ b/src/corelib/plugin/qsystemlibrary.cpp
@@ -109,7 +109,7 @@ HINSTANCE QSystemLibrary::load(const wchar_t *libraryName, bool onlySystemDirect
if (!onlySystemDirectory) {
const QString PATH(QLatin1String(qgetenv("PATH").constData()));
- searchOrder << PATH.split(QLatin1Char(';'), QString::SkipEmptyParts);
+ searchOrder << PATH.split(QLatin1Char(';'), Qt::SkipEmptyParts);
}
QString fileName = QString::fromWCharArray(libraryName);
fileName.append(QLatin1String(".dll"));
diff --git a/src/corelib/serialization/qjsondocument.cpp b/src/corelib/serialization/qjsondocument.cpp
index 0be0fc020d..338b752f13 100644
--- a/src/corelib/serialization/qjsondocument.cpp
+++ b/src/corelib/serialization/qjsondocument.cpp
@@ -239,6 +239,8 @@ QJsonDocument &QJsonDocument::operator =(const QJsonDocument &other)
#if QT_CONFIG(binaryjson) && QT_DEPRECATED_SINCE(5, 15)
/*!
+ \deprecated
+
Creates a QJsonDocument that uses the first \a size bytes from
\a data. It assumes \a data contains a binary encoded JSON document.
The created document does not take ownership of \a data. The data is
@@ -253,7 +255,7 @@ QJsonDocument &QJsonDocument::operator =(const QJsonDocument &other)
Returns a QJsonDocument representing the data.
- \deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
+ \note Deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
compatibility. It is undocumented and restrictive in the maximum size of JSON
documents that can be encoded. Qt JSON types can be converted to Qt CBOR types,
which can in turn be serialized into the CBOR binary format and vice versa. The
@@ -285,13 +287,15 @@ QJsonDocument QJsonDocument::fromRawData(const char *data, int size, DataValidat
}
/*!
+ \deprecated
+
Returns the raw binary representation of the data
\a size will contain the size of the returned data.
This method is useful to e.g. stream the JSON document
in its binary form to a file.
- \deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
+ \note Deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
compatibility. It is undocumented and restrictive in the maximum size of JSON
documents that can be encoded. Qt JSON types can be converted to Qt CBOR types,
which can in turn be serialized into the CBOR binary format and vice versa. The
@@ -325,13 +329,14 @@ const char *QJsonDocument::rawData(int *size) const
}
/*!
+ \deprecated
Creates a QJsonDocument from \a data.
\a validation decides whether the data is checked for validity before being used.
By default the data is validated. If the \a data is not valid, the method returns
a null document.
- \deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
+ \note Deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
compatibility. It is undocumented and restrictive in the maximum size of JSON
documents that can be encoded. Qt JSON types can be converted to Qt CBOR types,
which can in turn be serialized into the CBOR binary format and vice versa. The
@@ -364,6 +369,7 @@ QJsonDocument QJsonDocument::fromBinaryData(const QByteArray &data, DataValidati
}
/*!
+ \deprecated
Returns a binary representation of the document.
The binary representation is also the native format used internally in Qt,
@@ -373,7 +379,7 @@ QJsonDocument QJsonDocument::fromBinaryData(const QByteArray &data, DataValidati
or computers. fromBinaryData() can be used to convert it back into a
JSON document.
- \deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
+ \note Deprecated in Qt 5.15. The binary JSON encoding is only retained for backwards
compatibility. It is undocumented and restrictive in the maximum size of JSON
documents that can be encoded. Qt JSON types can be converted to Qt CBOR types,
which can in turn be serialized into the CBOR binary format and vice versa. The
diff --git a/src/corelib/text/qbytearray.cpp b/src/corelib/text/qbytearray.cpp
index ac5f2afb57..52bde98b62 100644
--- a/src/corelib/text/qbytearray.cpp
+++ b/src/corelib/text/qbytearray.cpp
@@ -4969,7 +4969,7 @@ QByteArray QByteArray::toPercentEncoding(const QByteArray &exclude, const QByteA
\snippet code/src_corelib_tools_qbytearray.cpp 44ter
- In alternative, it is possible to access the conversion status
+ Alternatively, it is possible to access the conversion status
and the decoded data directly:
\snippet code/src_corelib_tools_qbytearray.cpp 44quater
diff --git a/src/corelib/text/qstring.cpp b/src/corelib/text/qstring.cpp
index 8cdf41ffbf..da2c44bef6 100644
--- a/src/corelib/text/qstring.cpp
+++ b/src/corelib/text/qstring.cpp
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2016 The Qt Company Ltd.
+** Copyright (C) 2020 The Qt Company Ltd.
** Copyright (C) 2018 Intel Corporation.
** Copyright (C) 2019 Mail.ru Group.
** Contact: https://www.qt.io/licensing/
@@ -1757,6 +1757,9 @@ const QString::Null QString::null = { };
/*!
\enum QString::SplitBehavior
+ \obsolete
+ Use Qt::SplitBehavior instead.
+
This enum specifies how the split() function should behave with
respect to empty strings.
@@ -4612,7 +4615,7 @@ int QString::count(const QRegularExpression &re) const
QString QString::section(const QString &sep, int start, int end, SectionFlags flags) const
{
- const QVector<QStringRef> sections = splitRef(sep, KeepEmptyParts,
+ const QVector<QStringRef> sections = splitRef(sep, Qt::KeepEmptyParts,
(flags & SectionCaseInsensitiveSeps) ? Qt::CaseInsensitive : Qt::CaseSensitive);
const int sectionsSize = sections.size();
if (!(flags & SectionSkipEmpty)) {
@@ -7603,23 +7606,30 @@ QString QString::number(double n, char f, int prec)
namespace {
template<class ResultList, class StringSource>
static ResultList splitString(const StringSource &source, const QChar *sep,
- QString::SplitBehavior behavior, Qt::CaseSensitivity cs, const int separatorSize)
+ Qt::SplitBehavior behavior, Qt::CaseSensitivity cs, const int separatorSize)
{
ResultList list;
typename StringSource::size_type start = 0;
typename StringSource::size_type end;
typename StringSource::size_type extra = 0;
while ((end = QtPrivate::findString(QStringView(source.constData(), source.size()), start + extra, QStringView(sep, separatorSize), cs)) != -1) {
- if (start != end || behavior == QString::KeepEmptyParts)
+ if (start != end || behavior == Qt::KeepEmptyParts)
list.append(source.mid(start, end - start));
start = end + separatorSize;
extra = (separatorSize == 0 ? 1 : 0);
}
- if (start != source.size() || behavior == QString::KeepEmptyParts)
+ if (start != source.size() || behavior == Qt::KeepEmptyParts)
list.append(source.mid(start, -1));
return list;
}
+#if QT_DEPRECATED_SINCE(5, 15)
+Qt::SplitBehavior mapSplitBehavior(QString::SplitBehavior sb)
+{
+ return sb & QString::SkipEmptyParts ? Qt::SkipEmptyParts : Qt::KeepEmptyParts;
+}
+#endif
+
} // namespace
/*!
@@ -7649,12 +7659,25 @@ static ResultList splitString(const StringSource &source, const QChar *sep,
\snippet qstring/main.cpp 62-slashes
\sa QStringList::join(), section()
+
+ \since 5.14
*/
-QStringList QString::split(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
+QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
{
return splitString<QStringList>(*this, sep.constData(), behavior, cs, sep.size());
}
+#if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
+ \obsolete
+*/
+QStringList QString::split(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
+{
+ return split(sep, mapSplitBehavior(behavior), cs);
+}
+#endif
+
/*!
Splits the string into substring references wherever \a sep occurs, and
returns the list of those strings.
@@ -7665,29 +7688,68 @@ QStringList QString::split(const QString &sep, SplitBehavior behavior, Qt::CaseS
\note All references are valid as long this string is alive. Destroying this
string will cause all references to be dangling pointers.
- \since 5.4
+ \since 5.14
\sa QStringRef split()
*/
+QVector<QStringRef> QString::splitRef(const QString &sep, Qt::SplitBehavior behavior,
+ Qt::CaseSensitivity cs) const
+{
+ return splitString<QVector<QStringRef>>(QStringRef(this), sep.constData(), behavior,
+ cs, sep.size());
+}
+
+#if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
+ \obsolete
+ \since 5.4
+*/
QVector<QStringRef> QString::splitRef(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
{
- return splitString<QVector<QStringRef> >(QStringRef(this), sep.constData(), behavior, cs, sep.size());
+ return splitRef(sep, mapSplitBehavior(behavior), cs);
}
+#endif
+
/*!
\overload
+ \since 5.14
*/
-QStringList QString::split(QChar sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
+QStringList QString::split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
{
return splitString<QStringList>(*this, &sep, behavior, cs, 1);
}
+#if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
+ \obsolete
+*/
+QStringList QString::split(QChar sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
+{
+ return split(sep, mapSplitBehavior(behavior), cs);
+}
+#endif
+
+/*!
+ \overload
+ \since 5.14
+*/
+QVector<QStringRef> QString::splitRef(QChar sep, Qt::SplitBehavior behavior,
+ Qt::CaseSensitivity cs) const
+{
+ return splitString<QVector<QStringRef> >(QStringRef(this), &sep, behavior, cs, 1);
+}
+
+#if QT_DEPRECATED_SINCE(5, 15)
/*!
\overload
\since 5.4
*/
QVector<QStringRef> QString::splitRef(QChar sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
{
- return splitString<QVector<QStringRef> >(QStringRef(this), &sep, behavior, cs, 1);
+ return splitRef(sep, mapSplitBehavior(behavior), cs);
}
+#endif
/*!
Splits the string into substrings references wherever \a sep occurs, and
@@ -7699,26 +7761,50 @@ QVector<QStringRef> QString::splitRef(QChar sep, SplitBehavior behavior, Qt::Cas
\note All references are valid as long this string is alive. Destroying this
string will cause all references to be dangling pointers.
+ \since 5.14
+*/
+QVector<QStringRef> QStringRef::split(const QString &sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
+{
+ return splitString<QVector<QStringRef> >(*this, sep.constData(), behavior, cs, sep.size());
+}
+
+#if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
\since 5.4
+ \obsolete
*/
QVector<QStringRef> QStringRef::split(const QString &sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const
{
- return splitString<QVector<QStringRef> >(*this, sep.constData(), behavior, cs, sep.size());
+ return split(sep, mapSplitBehavior(behavior), cs);
}
+#endif
/*!
\overload
+ \since 5.14
+*/
+QVector<QStringRef> QStringRef::split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
+{
+ return splitString<QVector<QStringRef> >(*this, &sep, behavior, cs, 1);
+}
+
+#if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
\since 5.4
+ \obsolete
*/
QVector<QStringRef> QStringRef::split(QChar sep, QString::SplitBehavior behavior, Qt::CaseSensitivity cs) const
{
- return splitString<QVector<QStringRef> >(*this, &sep, behavior, cs, 1);
+ return split(sep, mapSplitBehavior(behavior), cs);
}
+#endif
#ifndef QT_NO_REGEXP
namespace {
template<class ResultList, typename MidMethod>
-static ResultList splitString(const QString &source, MidMethod mid, const QRegExp &rx, QString::SplitBehavior behavior)
+static ResultList splitString(const QString &source, MidMethod mid, const QRegExp &rx, Qt::SplitBehavior behavior)
{
QRegExp rx2(rx);
ResultList list;
@@ -7727,12 +7813,12 @@ static ResultList splitString(const QString &source, MidMethod mid, const QRegEx
int end;
while ((end = rx2.indexIn(source, start + extra)) != -1) {
int matchedLen = rx2.matchedLength();
- if (start != end || behavior == QString::KeepEmptyParts)
+ if (start != end || behavior == Qt::KeepEmptyParts)
list.append((source.*mid)(start, end - start));
start = end + matchedLen;
extra = (matchedLen == 0) ? 1 : 0;
}
- if (start != source.size() || behavior == QString::KeepEmptyParts)
+ if (start != source.size() || behavior == Qt::KeepEmptyParts)
list.append((source.*mid)(start, -1));
return list;
}
@@ -7740,6 +7826,7 @@ static ResultList splitString(const QString &source, MidMethod mid, const QRegEx
/*!
\overload
+ \since 5.14
Splits the string into substrings wherever the regular expression
\a rx matches, and returns the list of those strings. If \a rx
@@ -7764,14 +7851,25 @@ static ResultList splitString(const QString &source, MidMethod mid, const QRegEx
\sa QStringList::join(), section()
*/
-QStringList QString::split(const QRegExp &rx, SplitBehavior behavior) const
+QStringList QString::split(const QRegExp &rx, Qt::SplitBehavior behavior) const
{
return splitString<QStringList>(*this, &QString::mid, rx, behavior);
}
+# if QT_DEPRECATED_SINCE(5, 15)
/*!
\overload
- \since 5.4
+ \obsolete
+*/
+QStringList QString::split(const QRegExp &rx, SplitBehavior behavior) const
+{
+ return split(rx, mapSplitBehavior(behavior));
+}
+# endif
+
+/*!
+ \overload
+ \since 5.14
Splits the string into substring references wherever the regular expression
\a rx matches, and returns the list of those strings. If \a rx
@@ -7783,17 +7881,29 @@ QStringList QString::split(const QRegExp &rx, SplitBehavior behavior) const
\sa QStringRef split()
*/
-QVector<QStringRef> QString::splitRef(const QRegExp &rx, SplitBehavior behavior) const
+QVector<QStringRef> QString::splitRef(const QRegExp &rx, Qt::SplitBehavior behavior) const
{
return splitString<QVector<QStringRef> >(*this, &QString::midRef, rx, behavior);
}
-#endif
+
+# if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
+ \since 5.4
+ \obsolete
+*/
+QVector<QStringRef> QString::splitRef(const QRegExp &rx, SplitBehavior behavior) const
+{
+ return splitRef(rx, mapSplitBehavior(behavior));
+}
+# endif
+#endif // QT_NO_REGEXP
#if QT_CONFIG(regularexpression)
namespace {
template<class ResultList, typename MidMethod>
static ResultList splitString(const QString &source, MidMethod mid, const QRegularExpression &re,
- QString::SplitBehavior behavior)
+ Qt::SplitBehavior behavior)
{
ResultList list;
if (!re.isValid()) {
@@ -7807,12 +7917,12 @@ static ResultList splitString(const QString &source, MidMethod mid, const QRegul
while (iterator.hasNext()) {
QRegularExpressionMatch match = iterator.next();
end = match.capturedStart();
- if (start != end || behavior == QString::KeepEmptyParts)
+ if (start != end || behavior == Qt::KeepEmptyParts)
list.append((source.*mid)(start, end - start));
start = match.capturedEnd();
}
- if (start != source.size() || behavior == QString::KeepEmptyParts)
+ if (start != source.size() || behavior == Qt::KeepEmptyParts)
list.append((source.*mid)(start, -1));
return list;
@@ -7821,7 +7931,7 @@ static ResultList splitString(const QString &source, MidMethod mid, const QRegul
/*!
\overload
- \since 5.0
+ \since 5.14
Splits the string into substrings wherever the regular expression
\a re matches, and returns the list of those strings. If \a re
@@ -7846,14 +7956,26 @@ static ResultList splitString(const QString &source, MidMethod mid, const QRegul
\sa QStringList::join(), section()
*/
-QStringList QString::split(const QRegularExpression &re, SplitBehavior behavior) const
+QStringList QString::split(const QRegularExpression &re, Qt::SplitBehavior behavior) const
{
return splitString<QStringList>(*this, &QString::mid, re, behavior);
}
+# if QT_DEPRECATED_SINCE(5, 15)
/*!
\overload
- \since 5.4
+ \since 5.0
+ \obsolete
+*/
+QStringList QString::split(const QRegularExpression &re, SplitBehavior behavior) const
+{
+ return split(re, mapSplitBehavior(behavior));
+}
+# endif
+
+/*!
+ \overload
+ \since 5.14
Splits the string into substring references wherever the regular expression
\a re matches, and returns the list of those strings. If \a re
@@ -7865,10 +7987,22 @@ QStringList QString::split(const QRegularExpression &re, SplitBehavior behavior)
\sa split() QStringRef
*/
-QVector<QStringRef> QString::splitRef(const QRegularExpression &re, SplitBehavior behavior) const
+QVector<QStringRef> QString::splitRef(const QRegularExpression &re, Qt::SplitBehavior behavior) const
{
return splitString<QVector<QStringRef> >(*this, &QString::midRef, re, behavior);
}
+
+# if QT_DEPRECATED_SINCE(5, 15)
+/*!
+ \overload
+ \since 5.4
+ \obsolete
+*/
+QVector<QStringRef> QString::splitRef(const QRegularExpression &re, SplitBehavior behavior) const
+{
+ return splitRef(re, mapSplitBehavior(behavior));
+}
+# endif
#endif // QT_CONFIG(regularexpression)
/*!
diff --git a/src/corelib/text/qstring.h b/src/corelib/text/qstring.h
index f08c7b0d00..f4d6fc24a5 100644
--- a/src/corelib/text/qstring.h
+++ b/src/corelib/text/qstring.h
@@ -580,45 +580,68 @@ public:
{ return replace(re, QString()); }
#endif
- enum SplitBehavior { KeepEmptyParts, SkipEmptyParts };
+#if QT_DEPRECATED_SINCE(5, 15)
+ enum SplitBehavior // ### Qt 6: replace with Qt:: version
+ {
+ KeepEmptyParts Q_DECL_ENUMERATOR_DEPRECATED,
+ SkipEmptyParts Q_DECL_ENUMERATOR_DEPRECATED
+ };
- Q_REQUIRED_RESULT QStringList split(const QString &sep, SplitBehavior behavior = KeepEmptyParts,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT QVector<QStringRef> splitRef(const QString &sep, SplitBehavior behavior = KeepEmptyParts,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT QStringList split(QChar sep, SplitBehavior behavior = KeepEmptyParts,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT QVector<QStringRef> splitRef(QChar sep, SplitBehavior behavior = KeepEmptyParts,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QStringList split(const QString &sep, SplitBehavior behavior,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QVector<QStringRef> splitRef(const QString &sep, SplitBehavior behavior,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QStringList split(QChar sep, SplitBehavior behavior,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QVector<QStringRef> splitRef(QChar sep, SplitBehavior behavior,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
#ifndef QT_NO_REGEXP
- Q_REQUIRED_RESULT QStringList split(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const;
- Q_REQUIRED_RESULT QVector<QStringRef> splitRef(const QRegExp &sep, SplitBehavior behavior = KeepEmptyParts) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QStringList split(const QRegExp &sep, SplitBehavior behavior) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QVector<QStringRef> splitRef(const QRegExp &sep, SplitBehavior behavior) const;
#endif
#if QT_CONFIG(regularexpression)
- Q_REQUIRED_RESULT QStringList split(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const;
- Q_REQUIRED_RESULT QVector<QStringRef> splitRef(const QRegularExpression &sep, SplitBehavior behavior = KeepEmptyParts) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QStringList split(const QRegularExpression &sep, SplitBehavior behavior) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QVector<QStringRef> splitRef(const QRegularExpression &sep, SplitBehavior behavior) const;
#endif
+#endif // 5.15 deprecations
-private:
- static Q_DECL_CONSTEXPR SplitBehavior _sb(Qt::SplitBehavior sb) Q_DECL_NOTHROW
- { return sb & Qt::SkipEmptyParts ? SkipEmptyParts : KeepEmptyParts; }
public:
-
- Q_REQUIRED_RESULT inline QStringList split(const QString &sep, Qt::SplitBehavior behavior,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT inline QVector<QStringRef> splitRef(const QString &sep, Qt::SplitBehavior behavior,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT inline QStringList split(QChar sep, Qt::SplitBehavior behavior,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT inline QVector<QStringRef> splitRef(QChar sep, Qt::SplitBehavior behavior,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT
+ QStringList split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT
+ QVector<QStringRef> splitRef(const QString &sep,
+ Qt::SplitBehavior behavior = Qt::KeepEmptyParts,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT
+ QStringList split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT
+ QVector<QStringRef> splitRef(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
#ifndef QT_NO_REGEXP
- Q_REQUIRED_RESULT inline QStringList split(const QRegExp &sep, Qt::SplitBehavior behavior) const;
- Q_REQUIRED_RESULT inline QVector<QStringRef> splitRef(const QRegExp &sep, Qt::SplitBehavior behavior) const;
+ Q_REQUIRED_RESULT
+ QStringList split(const QRegExp &sep,
+ Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const;
+ Q_REQUIRED_RESULT
+ QVector<QStringRef> splitRef(const QRegExp &sep,
+ Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const;
#endif
#ifndef QT_NO_REGULAREXPRESSION
- Q_REQUIRED_RESULT inline QStringList split(const QRegularExpression &sep, Qt::SplitBehavior behavior) const;
- Q_REQUIRED_RESULT inline QVector<QStringRef> splitRef(const QRegularExpression &sep, Qt::SplitBehavior behavior) const;
+ Q_REQUIRED_RESULT
+ QStringList split(const QRegularExpression &sep,
+ Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const;
+ Q_REQUIRED_RESULT
+ QVector<QStringRef> splitRef(const QRegularExpression &sep,
+ Qt::SplitBehavior behavior = Qt::KeepEmptyParts) const;
#endif
@@ -1485,15 +1508,21 @@ public:
int count(QChar c, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
int count(const QStringRef &s, Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT QVector<QStringRef> split(const QString &sep, QString::SplitBehavior behavior = QString::KeepEmptyParts,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT QVector<QStringRef> split(QChar sep, QString::SplitBehavior behavior = QString::KeepEmptyParts,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+#if QT_DEPRECATED_SINCE(5, 15)
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QVector<QStringRef> split(const QString &sep, QString::SplitBehavior behavior,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT QT_DEPRECATED_VERSION_X_5_15("Use Qt::SplitBehavior variant instead")
+ QVector<QStringRef> split(QChar sep, QString::SplitBehavior behavior,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+#endif // 5.15 deprecations
- Q_REQUIRED_RESULT inline QVector<QStringRef> split(const QString &sep, Qt::SplitBehavior behavior,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
- Q_REQUIRED_RESULT inline QVector<QStringRef> split(QChar sep, Qt::SplitBehavior behavior,
- Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT
+ QVector<QStringRef> split(const QString &sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
+ Q_REQUIRED_RESULT
+ QVector<QStringRef> split(QChar sep, Qt::SplitBehavior behavior = Qt::KeepEmptyParts,
+ Qt::CaseSensitivity cs = Qt::CaseSensitive) const;
Q_REQUIRED_RESULT QStringRef left(int n) const;
Q_REQUIRED_RESULT QStringRef right(int n) const;
diff --git a/src/corelib/text/qstringlist.h b/src/corelib/text/qstringlist.h
index 6e0940c488..c03e34b9ba 100644
--- a/src/corelib/text/qstringlist.h
+++ b/src/corelib/text/qstringlist.h
@@ -384,23 +384,6 @@ inline int QStringList::lastIndexOf(const QRegularExpression &rx, int from) cons
#endif // QT_CONFIG(regularexpression)
#endif // Q_QDOC
-//
-// QString inline functions:
-//
-
-QStringList QString::split(const QString &sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
-{ return split(sep, _sb(behavior), cs); }
-QStringList QString::split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
-{ return split(sep, _sb(behavior), cs); }
-#ifndef QT_NO_REGEXP
-QStringList QString::split(const QRegExp &sep, Qt::SplitBehavior behavior) const
-{ return split(sep, _sb(behavior)); }
-#endif
-#if QT_CONFIG(regularexpression)
-QStringList QString::split(const QRegularExpression &sep, Qt::SplitBehavior behavior) const
-{ return split(sep, _sb(behavior)); }
-#endif
-
QT_END_NAMESPACE
#endif // QSTRINGLIST_H
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp
index 14e36b59ca..e9fe34110a 100644
--- a/src/corelib/time/qdatetime.cpp
+++ b/src/corelib/time/qdatetime.cpp
@@ -173,7 +173,7 @@ static ParsedRfcDateTime rfcDateImpl(const QString &s)
// or "ddd MMM dd[ hh:mm:ss] yyyy [±hhmm]" - permissive RFC 850, 1036 (read only)
ParsedRfcDateTime result;
- auto words = s.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
+ auto words = s.splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
if (words.size() < 3 || words.size() > 6)
return result;
const QChar colon(QLatin1Char(':'));
@@ -1784,7 +1784,7 @@ QT_WARNING_POP
return rfcDateImpl(string).date;
default:
case Qt::TextDate: {
- QVector<QStringRef> parts = string.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
+ QVector<QStringRef> parts = string.splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
if (parts.count() != 4)
return QDate();
@@ -5417,7 +5417,7 @@ QT_WARNING_POP
return QDateTime(date, time, spec, offset);
}
case Qt::TextDate: {
- QVector<QStringRef> parts = string.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
+ QVector<QStringRef> parts = string.splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
if ((parts.count() < 5) || (parts.count() > 6))
return QDateTime();
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index 026f99fd09..2d54cb1468 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -784,24 +784,6 @@ extern template class Q_CORE_EXPORT QVector<QPoint>;
QVector<uint> QStringView::toUcs4() const { return QtPrivate::convertToUcs4(*this); }
-QVector<QStringRef> QString::splitRef(const QString &sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
-{ return splitRef(sep, _sb(behavior), cs); }
-QVector<QStringRef> QString::splitRef(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
-{ return splitRef(sep, _sb(behavior), cs); }
-#ifndef QT_NO_REGEXP
-QVector<QStringRef> QString::splitRef(const QRegExp &sep, Qt::SplitBehavior behavior) const
-{ return splitRef(sep, _sb(behavior)); }
-#endif
-#if QT_CONFIG(regularexpression)
-QVector<QStringRef> QString::splitRef(const QRegularExpression &sep, Qt::SplitBehavior behavior) const
-{ return splitRef(sep, _sb(behavior)); }
-#endif
-QVector<QStringRef> QStringRef::split(const QString &sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
-{ return split(sep, QString::_sb(behavior), cs); }
-QVector<QStringRef> QStringRef::split(QChar sep, Qt::SplitBehavior behavior, Qt::CaseSensitivity cs) const
-{ return split(sep, QString::_sb(behavior), cs); }
-
-
QT_END_NAMESPACE
#include <QtCore/qbytearraylist.h>
diff --git a/src/dbus/qdbusmisc.cpp b/src/dbus/qdbusmisc.cpp
index 25edac8025..8443246e00 100644
--- a/src/dbus/qdbusmisc.cpp
+++ b/src/dbus/qdbusmisc.cpp
@@ -95,7 +95,7 @@ QString qDBusInterfaceFromMetaObject(const QMetaObject *mo)
} else {
interface.prepend(QLatin1Char('.')).prepend(QCoreApplication::instance()->applicationName());
const QString organizationDomain = QCoreApplication::instance()->organizationDomain();
- const auto domainName = organizationDomain.splitRef(QLatin1Char('.'), QString::SkipEmptyParts);
+ const auto domainName = organizationDomain.splitRef(QLatin1Char('.'), Qt::SkipEmptyParts);
if (domainName.isEmpty()) {
interface.prepend(QLatin1String("local."));
} else {
diff --git a/src/dbus/qdbusxmlgenerator.cpp b/src/dbus/qdbusxmlgenerator.cpp
index 7370ce0de3..f11b71dadf 100644
--- a/src/dbus/qdbusxmlgenerator.cpp
+++ b/src/dbus/qdbusxmlgenerator.cpp
@@ -285,7 +285,7 @@ QString qDBusGenerateMetaObjectXml(QString interface, const QMetaObject *mo, con
interface.prepend(QLatin1Char('.')).prepend(QCoreApplication::instance()->applicationName());
QStringList domainName =
QCoreApplication::instance()->organizationDomain().split(QLatin1Char('.'),
- QString::SkipEmptyParts);
+ Qt::SkipEmptyParts);
if (domainName.isEmpty())
interface.prepend(QLatin1String("local."));
else
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 1406683b97..ce0c6170c1 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -2118,7 +2118,7 @@ static QImage convertWithPalette(const QImage &src, QImage::Format format,
dest.setColorTable(clut);
QString textsKeys = src.text();
- const auto textKeyList = textsKeys.splitRef(QLatin1Char('\n'), QString::SkipEmptyParts);
+ const auto textKeyList = textsKeys.splitRef(QLatin1Char('\n'), Qt::SkipEmptyParts);
for (const auto &textKey : textKeyList) {
const auto textKeySplitted = textKey.split(QLatin1String(": "));
dest.setText(textKeySplitted[0].toString(), textKeySplitted[1].toString());
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index 5ad37ae640..edb602407a 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -3852,8 +3852,8 @@ static void formatTabletEvent(QDebug d, const QTabletEvent *e)
d << eventClassName(type) << '(';
QtDebugUtils::formatQEnum(d, type);
- d << ", device=";
- QtDebugUtils::formatQEnum(d, e->device());
+ d << ", deviceType=";
+ QtDebugUtils::formatQEnum(d, e->deviceType());
d << ", pointerType=";
QtDebugUtils::formatQEnum(d, e->pointerType());
d << ", uniqueId=" << e->uniqueId()
@@ -3865,9 +3865,9 @@ static void formatTabletEvent(QDebug d, const QTabletEvent *e)
QtDebugUtils::formatQFlags(d, e->buttons());
if (type == QEvent::TabletPress || type == QEvent::TabletMove)
d << ", pressure=" << e->pressure();
- if (e->device() == QTabletEvent::RotationStylus || e->device() == QTabletEvent::FourDMouse)
+ if (e->deviceType() == QTabletEvent::RotationStylus || e->deviceType() == QTabletEvent::FourDMouse)
d << ", rotation=" << e->rotation();
- if (e->device() == QTabletEvent::Airbrush)
+ if (e->deviceType() == QTabletEvent::Airbrush)
d << ", tangentialPressure=" << e->tangentialPressure();
}
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 5a9274e4f3..0ad6272a7c 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -1212,12 +1212,12 @@ Q_LOGGING_CATEGORY(lcQpaPluginLoading, "qt.qpa.plugin");
static void init_platform(const QString &pluginNamesWithArguments, const QString &platformPluginPath, const QString &platformThemeName, int &argc, char **argv)
{
- QStringList plugins = pluginNamesWithArguments.split(QLatin1Char(';'), QString::SkipEmptyParts);
+ QStringList plugins = pluginNamesWithArguments.split(QLatin1Char(';'), Qt::SkipEmptyParts);
QStringList platformArguments;
QStringList availablePlugins = QPlatformIntegrationFactory::keys(platformPluginPath);
for (const auto &pluginArgument : plugins) {
// Split into platform name and arguments
- QStringList arguments = pluginArgument.split(QLatin1Char(':'), QString::SkipEmptyParts);
+ QStringList arguments = pluginArgument.split(QLatin1Char(':'), Qt::SkipEmptyParts);
if (arguments.isEmpty())
continue;
const QString name = arguments.takeFirst().toLower();
diff --git a/src/gui/kernel/qplatformdialoghelper.cpp b/src/gui/kernel/qplatformdialoghelper.cpp
index 15ac4acf91..5face96575 100644
--- a/src/gui/kernel/qplatformdialoghelper.cpp
+++ b/src/gui/kernel/qplatformdialoghelper.cpp
@@ -788,7 +788,7 @@ QStringList QPlatformFileDialogHelper::cleanFilterList(const QString &filter)
filter.indexOf(regexp, 0, &match);
if (match.hasMatch())
f = match.captured(2);
- return f.split(QLatin1Char(' '), QString::SkipEmptyParts);
+ return f.split(QLatin1Char(' '), Qt::SkipEmptyParts);
#else
return QStringList();
#endif
diff --git a/src/gui/painting/qpdfwriter.cpp b/src/gui/painting/qpdfwriter.cpp
index 4f70fe6ad2..32f2194da3 100644
--- a/src/gui/painting/qpdfwriter.cpp
+++ b/src/gui/painting/qpdfwriter.cpp
@@ -300,7 +300,7 @@ QByteArray QPdfWriter::documentXmpMetadata() const
/*!
\since 5.15
- Adds \a fileName attachment to the PDF with (optional) \a mimeType
+ Adds \a fileName attachment to the PDF with (optional) \a mimeType.
\a data contains the raw file data to embed into the PDF file.
*/
diff --git a/src/gui/text/qcssparser.cpp b/src/gui/text/qcssparser.cpp
index a12eb98528..53d399a4bf 100644
--- a/src/gui/text/qcssparser.cpp
+++ b/src/gui/text/qcssparser.cpp
@@ -1584,7 +1584,7 @@ QRect Declaration::rectValue() const
const QStringList func = v.variant.toStringList();
if (func.count() != 2 || func.at(0).compare(QLatin1String("rect")) != 0)
return QRect();
- const auto args = func[1].splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
+ const auto args = func[1].splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
if (args.count() != 4)
return QRect();
QRect rect(args[0].toInt(), args[1].toInt(), args[2].toInt(), args[3].toInt());
diff --git a/src/network/access/qnetworkreplywasmimpl.cpp b/src/network/access/qnetworkreplywasmimpl.cpp
index f28b8415d1..8c0f9bdf55 100644
--- a/src/network/access/qnetworkreplywasmimpl.cpp
+++ b/src/network/access/qnetworkreplywasmimpl.cpp
@@ -510,7 +510,7 @@ void QNetworkReplyWasmImplPrivate::headersReceived(const QString &bufferString)
Q_Q(QNetworkReplyWasmImpl);
if (!bufferString.isEmpty()) {
- QStringList headers = bufferString.split(QString::fromUtf8("\r\n"), QString::SkipEmptyParts);
+ QStringList headers = bufferString.split(QString::fromUtf8("\r\n"), Qt::SkipEmptyParts);
for (int i = 0; i < headers.size(); i++) {
QString headerName = headers.at(i).split(QString::fromUtf8(": ")).at(0);
diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp
index 751735c8bd..990f033db4 100644
--- a/src/network/bearer/qnetworkconfigmanager.cpp
+++ b/src/network/bearer/qnetworkconfigmanager.cpp
@@ -110,6 +110,7 @@ QNetworkConfigurationManagerPrivate *qNetworkConfigurationManagerPrivate()
/*!
\class QNetworkConfigurationManager
+ \obsolete
\brief The QNetworkConfigurationManager class manages the network configurations provided
by the system.
diff --git a/src/network/bearer/qnetworkconfigmanager.h b/src/network/bearer/qnetworkconfigmanager.h
index e8866999c7..1bd2a4a034 100644
--- a/src/network/bearer/qnetworkconfigmanager.h
+++ b/src/network/bearer/qnetworkconfigmanager.h
@@ -40,16 +40,31 @@
#ifndef QNETWORKCONFIGMANAGER_H
#define QNETWORKCONFIGMANAGER_H
+#if 0
+#pragma qt_class(QNetworkConfigurationManager)
+#endif
+
#include <QtNetwork/qtnetworkglobal.h>
#include <QtCore/qobject.h>
#include <QtNetwork/qnetworkconfiguration.h>
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+
#ifndef QT_NO_BEARERMANAGEMENT
QT_BEGIN_NAMESPACE
class QNetworkConfigurationManagerPrivate;
-class Q_NETWORK_EXPORT QNetworkConfigurationManager : public QObject
+// We work around an issue in ICC where it errors out during compilation of Qt by not marking it
+// deprecated if ICC is used
+#ifdef Q_CC_INTEL
+#define QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC
+#else
+#define QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC QT_DEPRECATED_VERSION_5_15
+#endif
+class QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC Q_NETWORK_EXPORT QNetworkConfigurationManager : public QObject
+#undef QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC
{
Q_OBJECT
@@ -97,4 +112,6 @@ QT_END_NAMESPACE
#endif // QT_NO_BEARERMANAGEMENT
+QT_WARNING_POP
+
#endif // QNETWORKCONFIGMANAGER_H
diff --git a/src/network/bearer/qnetworkconfiguration.cpp b/src/network/bearer/qnetworkconfiguration.cpp
index 25c4ab711e..841615db6a 100644
--- a/src/network/bearer/qnetworkconfiguration.cpp
+++ b/src/network/bearer/qnetworkconfiguration.cpp
@@ -45,6 +45,7 @@ QT_BEGIN_NAMESPACE
/*!
\class QNetworkConfiguration
+ \obsolete
\brief The QNetworkConfiguration class provides an abstraction of one or more access point configurations.
diff --git a/src/network/bearer/qnetworkconfiguration.h b/src/network/bearer/qnetworkconfiguration.h
index 048abc2fc8..0469508d9d 100644
--- a/src/network/bearer/qnetworkconfiguration.h
+++ b/src/network/bearer/qnetworkconfiguration.h
@@ -40,6 +40,10 @@
#ifndef QNETWORKCONFIGURATION_H
#define QNETWORKCONFIGURATION_H
+#if 0
+#pragma qt_class(QNetworkConfiguration)
+#endif
+
#include <QtNetwork/qtnetworkglobal.h>
#include <QtCore/qshareddata.h>
@@ -47,10 +51,21 @@
#include <QtCore/qlist.h>
#include <QtCore/qmetatype.h>
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+
QT_BEGIN_NAMESPACE
class QNetworkConfigurationPrivate;
-class Q_NETWORK_EXPORT QNetworkConfiguration
+// We work around an issue in ICC where it errors out during compilation of Qt by not marking it
+// deprecated if ICC is used
+#ifdef Q_CC_INTEL
+#define QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC
+#else
+#define QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC QT_DEPRECATED_VERSION_5_15
+#endif
+class QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC Q_NETWORK_EXPORT QNetworkConfiguration
+#undef QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC
{
public:
QNetworkConfiguration();
@@ -135,4 +150,6 @@ QT_END_NAMESPACE
Q_DECLARE_METATYPE(QNetworkConfiguration)
+QT_WARNING_POP
+
#endif // QNETWORKCONFIGURATION_H
diff --git a/src/network/bearer/qnetworksession.cpp b/src/network/bearer/qnetworksession.cpp
index 324016d72a..1d055689ab 100644
--- a/src/network/bearer/qnetworksession.cpp
+++ b/src/network/bearer/qnetworksession.cpp
@@ -59,6 +59,7 @@ QT_BEGIN_NAMESPACE
/*!
\class QNetworkSession
+ \obsolete
\brief The QNetworkSession class provides control over the system's access points
and enables session management for cases when multiple clients access the same access point.
diff --git a/src/network/bearer/qnetworksession.h b/src/network/bearer/qnetworksession.h
index 1b5ae9098b..37fe7948ad 100644
--- a/src/network/bearer/qnetworksession.h
+++ b/src/network/bearer/qnetworksession.h
@@ -40,6 +40,10 @@
#ifndef QNETWORKSESSION_H
#define QNETWORKSESSION_H
+#if 0
+#pragma qt_class(QNetworkSession)
+#endif
+
#include <QtNetwork/qtnetworkglobal.h>
#include <QtCore/qobject.h>
#include <QtCore/qstring.h>
@@ -47,6 +51,9 @@
#include <QtCore/qvariant.h>
#include <QtNetwork/qnetworkconfiguration.h>
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+
#ifndef QT_NO_BEARERMANAGEMENT
#if defined(Q_OS_WIN) && defined(interface)
@@ -57,7 +64,15 @@
QT_BEGIN_NAMESPACE
class QNetworkSessionPrivate;
-class Q_NETWORK_EXPORT QNetworkSession : public QObject
+// We work around an issue in ICC where it errors out during compilation of Qt by not marking it
+// deprecated if ICC is used
+#ifdef Q_CC_INTEL
+#define QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC
+#else
+#define QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC QT_DEPRECATED_VERSION_5_15
+#endif
+class QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC Q_NETWORK_EXPORT QNetworkSession : public QObject
+#undef QT_DEPRECATED_VERSION_5_15_BUT_NOT_FOR_ICC
{
Q_OBJECT
@@ -147,4 +162,6 @@ Q_DECLARE_METATYPE(QNetworkSession::UsagePolicies)
#endif // QT_NO_BEARERMANAGEMENT
+QT_WARNING_POP
+
#endif // QNETWORKSESSION_H
diff --git a/src/network/configure.cmake b/src/network/configure.cmake
index a3fad4d226..302a97da4f 100644
--- a/src/network/configure.cmake
+++ b/src/network/configure.cmake
@@ -320,7 +320,7 @@ qt_feature("networkdiskcache" PUBLIC
qt_feature_definition("networkdiskcache" "QT_NO_NETWORKDISKCACHE" NEGATE VALUE "1")
qt_feature("bearermanagement" PUBLIC
SECTION "Networking"
- LABEL "Bearer management"
+ LABEL "Bearer management (deprecated)"
PURPOSE "Provides bearer management for the network stack."
CONDITION QT_FEATURE_thread AND QT_FEATURE_library AND QT_FEATURE_networkinterface AND QT_FEATURE_properties
)
diff --git a/src/network/configure.json b/src/network/configure.json
index a18db9fa52..d6be41128a 100644
--- a/src/network/configure.json
+++ b/src/network/configure.json
@@ -388,7 +388,7 @@
"output": [ "publicFeature", "feature" ]
},
"bearermanagement": {
- "label": "Bearer management",
+ "label": "Bearer management (deprecated)",
"purpose": "Provides bearer management for the network stack.",
"section": "Networking",
"condition": "features.thread && features.library && features.networkinterface && features.properties",
diff --git a/src/network/kernel/qnetworkproxy.h b/src/network/kernel/qnetworkproxy.h
index 302a2ce6ca..d267e744e3 100644
--- a/src/network/kernel/qnetworkproxy.h
+++ b/src/network/kernel/qnetworkproxy.h
@@ -76,6 +76,8 @@ public:
explicit QNetworkProxyQuery(quint16 bindPort, const QString &protocolTag = QString(),
QueryType queryType = TcpServer);
#if !defined(QT_NO_BEARERMANAGEMENT) && QT_DEPRECATED_SINCE(5, 10)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
Q_DECL_DEPRECATED_X("QNetworkConfiguration support in QNetworkProxy is deprecated")
QNetworkProxyQuery(const QNetworkConfiguration &networkConfiguration,
const QUrl &requestUrl, QueryType queryType = UrlRequest);
@@ -87,6 +89,7 @@ public:
QNetworkProxyQuery(const QNetworkConfiguration &networkConfiguration,
quint16 bindPort, const QString &protocolTag = QString(),
QueryType queryType = TcpServer);
+QT_WARNING_POP
#endif
QNetworkProxyQuery(const QNetworkProxyQuery &other);
QNetworkProxyQuery &operator=(QNetworkProxyQuery &&other) noexcept { swap(other); return *this; }
@@ -118,10 +121,13 @@ public:
void setUrl(const QUrl &url);
#if !defined(QT_NO_BEARERMANAGEMENT) && QT_DEPRECATED_SINCE(5, 10)
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
Q_DECL_DEPRECATED_X("QNetworkConfiguration support in QNetworkProxy is deprecated")
QNetworkConfiguration networkConfiguration() const;
Q_DECL_DEPRECATED_X("QNetworkConfiguration support in QNetworkProxy is deprecated")
void setNetworkConfiguration(const QNetworkConfiguration &networkConfiguration);
+QT_WARNING_POP
#endif
private:
diff --git a/src/network/kernel/qtldurl.cpp b/src/network/kernel/qtldurl.cpp
index 249f4912b1..c2f7d1de26 100644
--- a/src/network/kernel/qtldurl.cpp
+++ b/src/network/kernel/qtldurl.cpp
@@ -97,7 +97,7 @@ static bool containsTLDEntry(QStringView entry, TLDMatchType match)
Q_NETWORK_EXPORT QString qTopLevelDomain(const QString &domain)
{
const QString domainLower = domain.toLower();
- QVector<QStringRef> sections = domainLower.splitRef(QLatin1Char('.'), QString::SkipEmptyParts);
+ QVector<QStringRef> sections = domainLower.splitRef(QLatin1Char('.'), Qt::SkipEmptyParts);
if (sections.isEmpty())
return QString();
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index da9d4a38fe..44dcbcec5a 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -1456,7 +1456,7 @@ void QSslSocket::setCiphers(const QString &ciphers)
{
Q_D(QSslSocket);
d->configuration.ciphers.clear();
- const auto cipherNames = ciphers.split(QLatin1Char(':'), QString::SkipEmptyParts);
+ const auto cipherNames = ciphers.split(QLatin1Char(':'), Qt::SkipEmptyParts);
for (const QString &cipherName : cipherNames) {
QSslCipher cipher(cipherName);
if (!cipher.isNull())
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 57f7f459ce..2419ec5e38 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -374,7 +374,7 @@ QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER
char buf [256];
QString descriptionOneLine = QString::fromLatin1(q_SSL_CIPHER_description(cipher, buf, sizeof(buf)));
- const auto descriptionList = descriptionOneLine.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
+ const auto descriptionList = descriptionOneLine.splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
if (descriptionList.size() > 5) {
// ### crude code.
ciph.d->isNull = false;
diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
index 21f37789ff..93b1c8fbf9 100644
--- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -574,7 +574,7 @@ static QStringList libraryPathList()
QStringList paths;
# ifdef Q_OS_DARWIN
paths = QString::fromLatin1(qgetenv("DYLD_LIBRARY_PATH"))
- .split(QLatin1Char(':'), QString::SkipEmptyParts);
+ .split(QLatin1Char(':'), Qt::SkipEmptyParts);
// search in .app/Contents/Frameworks
UInt32 packageType;
@@ -586,7 +586,7 @@ static QStringList libraryPathList()
}
# else
paths = QString::fromLatin1(qgetenv("LD_LIBRARY_PATH"))
- .split(QLatin1Char(':'), QString::SkipEmptyParts);
+ .split(QLatin1Char(':'), Qt::SkipEmptyParts);
# endif
paths << QLatin1String("/lib") << QLatin1String("/usr/lib") << QLatin1String("/usr/local/lib");
paths << QLatin1String("/lib64") << QLatin1String("/usr/lib64") << QLatin1String("/usr/local/lib64");
diff --git a/src/platformsupport/devicediscovery/qdevicediscovery_udev.cpp b/src/platformsupport/devicediscovery/qdevicediscovery_udev.cpp
index f601a196ca..478fe61a44 100644
--- a/src/platformsupport/devicediscovery/qdevicediscovery_udev.cpp
+++ b/src/platformsupport/devicediscovery/qdevicediscovery_udev.cpp
@@ -216,7 +216,7 @@ bool QDeviceDiscoveryUDev::checkDeviceType(udev_device *dev)
if ((m_types & Device_Keyboard) && (qstrcmp(udev_device_get_property_value(dev, "ID_INPUT_KEYBOARD"), "1") == 0 )) {
const QString capabilities_key = QString::fromUtf8(udev_device_get_sysattr_value(dev, "capabilities/key"));
- const auto val = capabilities_key.splitRef(QLatin1Char(' '), QString::SkipEmptyParts);
+ const auto val = capabilities_key.splitRef(QLatin1Char(' '), Qt::SkipEmptyParts);
if (!val.isEmpty()) {
bool ok;
unsigned long long keys = val.last().toULongLong(&ok, 16);
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
index 012edc82e4..88539b7220 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
@@ -2050,10 +2050,10 @@ QVariantList AtSpiAdaptor::getAttributes(QAccessibleInterface *interface, int of
int endOffset;
QString joined = interface->textInterface()->attributes(offset, &startOffset, &endOffset);
- const QStringList attributes = joined.split (QLatin1Char(';'), QString::SkipEmptyParts, Qt::CaseSensitive);
+ const QStringList attributes = joined.split (QLatin1Char(';'), Qt::SkipEmptyParts, Qt::CaseSensitive);
for (const QString &attr : attributes) {
QStringList items;
- items = attr.split(QLatin1Char(':'), QString::SkipEmptyParts, Qt::CaseSensitive);
+ items = attr.split(QLatin1Char(':'), Qt::SkipEmptyParts, Qt::CaseSensitive);
AtSpiAttribute attribute = atspiTextAttribute(items[0], items[1]);
if (!attribute.isNull())
set[attribute.name] = attribute.value;
@@ -2074,10 +2074,10 @@ QVariantList AtSpiAdaptor::getAttributeValue(QAccessibleInterface *interface, in
int endOffset;
joined = interface->textInterface()->attributes(offset, &startOffset, &endOffset);
- const QStringList attributes = joined.split (QLatin1Char(';'), QString::SkipEmptyParts, Qt::CaseSensitive);
+ const QStringList attributes = joined.split (QLatin1Char(';'), Qt::SkipEmptyParts, Qt::CaseSensitive);
for (const QString& attr : attributes) {
QStringList items;
- items = attr.split(QLatin1Char(':'), QString::SkipEmptyParts, Qt::CaseSensitive);
+ items = attr.split(QLatin1Char(':'), Qt::SkipEmptyParts, Qt::CaseSensitive);
AtSpiAttribute attribute = atspiTextAttribute(items[0], items[1]);
if (!attribute.isNull())
map[attribute.name] = attribute.value;
diff --git a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
index 36d9e4e065..cb1b39db64 100644
--- a/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
+++ b/src/platformsupport/themes/genericunix/qgenericunixthemes.cpp
@@ -641,7 +641,7 @@ QPlatformTheme *QKdeTheme::createKdeTheme()
const QString kdeDirsVar = QFile::decodeName(qgetenv("KDEDIRS"));
if (!kdeDirsVar.isEmpty())
- kdeDirs += kdeDirsVar.split(QLatin1Char(':'), QString::SkipEmptyParts);
+ kdeDirs += kdeDirsVar.split(QLatin1Char(':'), Qt::SkipEmptyParts);
const QString kdeVersionHomePath = QDir::homePath() + QLatin1String("/.kde") + QLatin1String(kdeVersionBA);
if (QFileInfo(kdeVersionHomePath).isDir())
diff --git a/src/plugins/platforms/android/androidcontentfileengine.cpp b/src/plugins/platforms/android/androidcontentfileengine.cpp
index 1444407195..3e3bdc2592 100644
--- a/src/plugins/platforms/android/androidcontentfileengine.cpp
+++ b/src/plugins/platforms/android/androidcontentfileengine.cpp
@@ -44,9 +44,10 @@
#include <QDebug>
-AndroidContentFileEngine::AndroidContentFileEngine(const QString &fileName)
- : QFSFileEngine(fileName)
+AndroidContentFileEngine::AndroidContentFileEngine(const QString &f)
+ : m_file(f)
{
+ setFileName(f);
}
bool AndroidContentFileEngine::open(QIODevice::OpenMode openMode)
@@ -78,6 +79,48 @@ bool AndroidContentFileEngine::open(QIODevice::OpenMode openMode)
return QFSFileEngine::open(openMode, fd, QFile::AutoCloseHandle);
}
+qint64 AndroidContentFileEngine::size() const
+{
+ const jlong size = QJNIObjectPrivate::callStaticMethod<jlong>(
+ "org/qtproject/qt5/android/QtNative", "getSize",
+ "(Landroid/content/Context;Ljava/lang/String;)J", QtAndroidPrivate::context(),
+ QJNIObjectPrivate::fromString(fileName(DefaultName)).object());
+ return (qint64)size;
+}
+
+AndroidContentFileEngine::FileFlags AndroidContentFileEngine::fileFlags(FileFlags type) const
+{
+ FileFlags commonFlags(ReadOwnerPerm|ReadUserPerm|ReadGroupPerm|ReadOtherPerm|ExistsFlag);
+ FileFlags flags;
+ const bool exists = QJNIObjectPrivate::callStaticMethod<jboolean>(
+ "org/qtproject/qt5/android/QtNative", "checkFileExists",
+ "(Landroid/content/Context;Ljava/lang/String;)Z", QtAndroidPrivate::context(),
+ QJNIObjectPrivate::fromString(fileName(DefaultName)).object());
+ if (!exists)
+ return flags;
+ flags = FileType | commonFlags;
+ return type & flags;
+}
+
+QString AndroidContentFileEngine::fileName(FileName f) const
+{
+ switch (f) {
+ case PathName:
+ case AbsolutePathName:
+ case CanonicalPathName:
+ case DefaultName:
+ case AbsoluteName:
+ case CanonicalName:
+ return m_file;
+ case BaseName:
+ {
+ const int pos = m_file.lastIndexOf(QChar(QLatin1Char('/')));
+ return m_file.mid(pos);
+ }
+ default:
+ return QString();
+ }
+}
AndroidContentFileEngineHandler::AndroidContentFileEngineHandler() = default;
AndroidContentFileEngineHandler::~AndroidContentFileEngineHandler() = default;
diff --git a/src/plugins/platforms/android/androidcontentfileengine.h b/src/plugins/platforms/android/androidcontentfileengine.h
index db3def03d6..09e5d77553 100644
--- a/src/plugins/platforms/android/androidcontentfileengine.h
+++ b/src/plugins/platforms/android/androidcontentfileengine.h
@@ -47,6 +47,12 @@ class AndroidContentFileEngine : public QFSFileEngine
public:
AndroidContentFileEngine(const QString &fileName);
bool open(QIODevice::OpenMode openMode) override;
+ qint64 size() const override;
+ FileFlags fileFlags(FileFlags type = FileInfoAll) const override;
+ QString fileName(FileName file = DefaultName) const override;
+private:
+ QString m_file;
+
};
class AndroidContentFileEngineHandler : public QAbstractFileEngineHandler
diff --git a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
index dcf52921aa..13c39436ba 100644
--- a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
+++ b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportalfiledialog.cpp
@@ -225,7 +225,7 @@ void QXdgDesktopPortalFileDialog::openPortal()
QRegularExpressionMatch match = regexp.match(filter);
if (match.hasMatch()) {
QString userVisibleName = match.captured(1);
- QStringList filterStrings = match.captured(2).split(QLatin1Char(' '), QString::SkipEmptyParts);
+ QStringList filterStrings = match.captured(2).split(QLatin1Char(' '), Qt::SkipEmptyParts);
FilterConditionList filterConditions;
for (const QString &filterString : filterStrings) {
diff --git a/src/plugins/sqldrivers/db2/qsql_db2.cpp b/src/plugins/sqldrivers/db2/qsql_db2.cpp
index 1d7e985731..ddf54666e7 100644
--- a/src/plugins/sqldrivers/db2/qsql_db2.cpp
+++ b/src/plugins/sqldrivers/db2/qsql_db2.cpp
@@ -1270,7 +1270,7 @@ bool QDB2Driver::open(const QString& db, const QString& user, const QString& pas
QString protocol;
// Set connection attributes
- const QStringList opts(connOpts.split(QLatin1Char(';'), QString::SkipEmptyParts));
+ const QStringList opts(connOpts.split(QLatin1Char(';'), Qt::SkipEmptyParts));
for (int i = 0; i < opts.count(); ++i) {
const QString tmp(opts.at(i));
int idx;
diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase.cpp b/src/plugins/sqldrivers/ibase/qsql_ibase.cpp
index 09c0655f3d..fb364c21f5 100644
--- a/src/plugins/sqldrivers/ibase/qsql_ibase.cpp
+++ b/src/plugins/sqldrivers/ibase/qsql_ibase.cpp
@@ -1477,7 +1477,7 @@ bool QIBaseDriver::open(const QString & db,
if (isOpen())
close();
- const QStringList opts(connOpts.split(QLatin1Char(';'), QString::SkipEmptyParts));
+ const QStringList opts(connOpts.split(QLatin1Char(';'), Qt::SkipEmptyParts));
QString encString;
QByteArray role;
diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
index 41141e1dd4..4e2698760f 100644
--- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
+++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
@@ -1239,7 +1239,7 @@ bool QMYSQLDriver::open(const QString& db,
stored procedure call will fail.
*/
unsigned int optionFlags = CLIENT_MULTI_STATEMENTS;
- const QStringList opts(connOpts.split(QLatin1Char(';'), QString::SkipEmptyParts));
+ const QStringList opts(connOpts.split(QLatin1Char(';'), Qt::SkipEmptyParts));
QString unixSocket;
QString sslCert;
QString sslCA;
diff --git a/src/plugins/sqldrivers/oci/qsql_oci.cpp b/src/plugins/sqldrivers/oci/qsql_oci.cpp
index aee8e92b36..8da9837a59 100644
--- a/src/plugins/sqldrivers/oci/qsql_oci.cpp
+++ b/src/plugins/sqldrivers/oci/qsql_oci.cpp
@@ -2230,7 +2230,7 @@ bool QOCIDriver::hasFeature(DriverFeature f) const
static void qParseOpts(const QString &options, QOCIDriverPrivate *d)
{
- const QStringList opts(options.split(QLatin1Char(';'), QString::SkipEmptyParts));
+ const QStringList opts(options.split(QLatin1Char(';'), Qt::SkipEmptyParts));
for (int i = 0; i < opts.count(); ++i) {
const QString tmp(opts.at(i));
int idx;
diff --git a/src/plugins/sqldrivers/odbc/qsql_odbc.cpp b/src/plugins/sqldrivers/odbc/qsql_odbc.cpp
index 63e8f9f9fe..be1a06bc1d 100644
--- a/src/plugins/sqldrivers/odbc/qsql_odbc.cpp
+++ b/src/plugins/sqldrivers/odbc/qsql_odbc.cpp
@@ -767,7 +767,7 @@ QChar QODBCDriverPrivate::quoteChar()
bool QODBCDriverPrivate::setConnectionOptions(const QString& connOpts)
{
// Set any connection attributes
- const QStringList opts(connOpts.split(QLatin1Char(';'), QString::SkipEmptyParts));
+ const QStringList opts(connOpts.split(QLatin1Char(';'), Qt::SkipEmptyParts));
SQLRETURN r = SQL_SUCCESS;
for (int i = 0; i < opts.count(); ++i) {
const QString tmp(opts.at(i));
diff --git a/src/tools/androiddeployqt/main.cpp b/src/tools/androiddeployqt/main.cpp
index 91fe4bd37b..3531e762fa 100644
--- a/src/tools/androiddeployqt/main.cpp
+++ b/src/tools/androiddeployqt/main.cpp
@@ -906,7 +906,7 @@ bool readInputFile(Options *options)
{
const QJsonValue extraLibs = jsonObject.value(QLatin1String("android-extra-libs"));
if (!extraLibs.isUndefined())
- options->extraLibs = extraLibs.toString().split(QLatin1Char(','), QString::SkipEmptyParts);
+ options->extraLibs = extraLibs.toString().split(QLatin1Char(','), Qt::SkipEmptyParts);
}
{
@@ -996,7 +996,7 @@ bool readInputFile(Options *options)
}
{
const QJsonValue qrcFiles = jsonObject.value(QLatin1String("qrcFiles"));
- options->qrcFiles = qrcFiles.toString().split(QLatin1Char(','), QString::SkipEmptyParts);
+ options->qrcFiles = qrcFiles.toString().split(QLatin1Char(','), Qt::SkipEmptyParts);
}
options->packageName = packageNameFromAndroidManifest(options->androidSourceDirectory + QLatin1String("/AndroidManifest.xml"));
if (options->packageName.isEmpty())
diff --git a/src/tools/tracegen/provider.cpp b/src/tools/tracegen/provider.cpp
index 39633efe5d..7dfa6a86d6 100644
--- a/src/tools/tracegen/provider.cpp
+++ b/src/tools/tracegen/provider.cpp
@@ -296,8 +296,7 @@ Provider parseProvider(const QString &filename)
if (tracedef.exactMatch(line)) {
const QString name = tracedef.cap(1);
const QString argsString = tracedef.cap(2);
- const QStringList args = argsString.split(QLatin1Char(','),
- QString::SkipEmptyParts);
+ const QStringList args = argsString.split(QLatin1Char(','), Qt::SkipEmptyParts);
provider.tracepoints << parseTracepoint(name, args, filename, lineNumber);
} else {
diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp
index 3fb5578153..882ad8a5a6 100644
--- a/src/widgets/dialogs/qfiledialog.cpp
+++ b/src/widgets/dialogs/qfiledialog.cpp
@@ -4370,7 +4370,7 @@ QStringList QFSCompleter::splitPath(const QString &path) const
QRegExp re(QLatin1Char('[') + QRegExp::escape(sep) + QLatin1Char(']'));
#if defined(Q_OS_WIN)
- QStringList parts = pathCopy.split(re, QString::SkipEmptyParts);
+ QStringList parts = pathCopy.split(re, Qt::SkipEmptyParts);
if (!doubleSlash.isEmpty() && !parts.isEmpty())
parts[0].prepend(doubleSlash);
if (pathCopy.endsWith(sep))
diff --git a/src/widgets/dialogs/qfilesystemmodel.cpp b/src/widgets/dialogs/qfilesystemmodel.cpp
index d516b1b312..4644f0f04e 100644
--- a/src/widgets/dialogs/qfilesystemmodel.cpp
+++ b/src/widgets/dialogs/qfilesystemmodel.cpp
@@ -376,7 +376,7 @@ QFileSystemModelPrivate::QFileSystemNode *QFileSystemModelPrivate::node(const QS
absolutePath = QDir(longPath).absolutePath();
// ### TODO can we use bool QAbstractFileEngine::caseSensitive() const?
- QStringList pathElements = absolutePath.split(QLatin1Char('/'), QString::SkipEmptyParts);
+ QStringList pathElements = absolutePath.split(QLatin1Char('/'), Qt::SkipEmptyParts);
if ((pathElements.isEmpty())
#if !defined(Q_OS_WIN)
&& QDir::fromNativeSeparators(longPath) != QLatin1String("/")
diff --git a/src/widgets/dialogs/qinputdialog.h b/src/widgets/dialogs/qinputdialog.h
index ca893172f9..6e2d6eebf3 100644
--- a/src/widgets/dialogs/qinputdialog.h
+++ b/src/widgets/dialogs/qinputdialog.h
@@ -189,7 +189,6 @@ public:
int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(),
double step = 1);
#else
- // ### Qt 6: merge overloads
static double getDouble(QWidget *parent, const QString &title, const QString &label, double value,
double minValue, double maxValue, int decimals, bool *ok, Qt::WindowFlags flags,
double step);
diff --git a/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp b/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp
index 53f91589bf..95dae667a8 100644
--- a/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp
+++ b/src/widgets/doc/snippets/dockwidgets/mainwindow.cpp
@@ -79,7 +79,7 @@ void MainWindow::setupContents()
do {
QString line = titlesFile.readLine().trimmed();
- QStringList parts = line.split("\t", QString::SkipEmptyParts);
+ QStringList parts = line.split(QLatin1Char('\t'), Qt::SkipEmptyParts);
if (parts.size() != 2)
break;
diff --git a/src/widgets/itemviews/qdirmodel.cpp b/src/widgets/itemviews/qdirmodel.cpp
index 8d1538a213..6cb0824572 100644
--- a/src/widgets/itemviews/qdirmodel.cpp
+++ b/src/widgets/itemviews/qdirmodel.cpp
@@ -873,7 +873,7 @@ QModelIndex QDirModel::index(const QString &path, int column) const
}
#endif
- QStringList pathElements = absolutePath.split(QLatin1Char('/'), QString::SkipEmptyParts);
+ QStringList pathElements = absolutePath.split(QLatin1Char('/'), Qt::SkipEmptyParts);
if ((pathElements.isEmpty() || !QFileInfo::exists(path))
#if !defined(Q_OS_WIN)
&& path != QLatin1String("/")
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index 4ba5469e9d..e82ddbcd20 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -1073,7 +1073,7 @@ void QWidgetWindow::handleTabletEvent(QTabletEvent *event)
if (widget) {
QPointF delta = event->globalPosF() - event->globalPos();
QPointF mapped = widget->mapFromGlobal(event->globalPos()) + delta;
- QTabletEvent ev(event->type(), mapped, event->globalPosF(), event->device(), event->pointerType(),
+ QTabletEvent ev(event->type(), mapped, event->globalPosF(), event->deviceType(), event->pointerType(),
event->pressure(), event->xTilt(), event->yTilt(), event->tangentialPressure(),
event->rotation(), event->z(), event->modifiers(), event->uniqueId(), event->button(), event->buttons());
ev.setTimestamp(event->timestamp());
diff --git a/src/widgets/widgets/qtabbar.h b/src/widgets/widgets/qtabbar.h
index c49c12f38c..f3cd914277 100644
--- a/src/widgets/widgets/qtabbar.h
+++ b/src/widgets/widgets/qtabbar.h
@@ -103,10 +103,10 @@ public:
void moveTab(int from, int to);
bool isTabEnabled(int index) const;
- void setTabEnabled(int index, bool);
+ void setTabEnabled(int index, bool enabled);
bool isTabVisible(int index) const;
- void setTabVisible(int index, bool);
+ void setTabVisible(int index, bool visible);
QString tabText(int index) const;
void setTabText(int index, const QString &text);
@@ -118,7 +118,7 @@ public:
void setTabIcon(int index, const QIcon &icon);
Qt::TextElideMode elideMode() const;
- void setElideMode(Qt::TextElideMode);
+ void setElideMode(Qt::TextElideMode mode);
#ifndef QT_NO_TOOLTIP
void setTabToolTip(int index, const QString &tip);
diff --git a/src/widgets/widgets/qtabwidget.h b/src/widgets/widgets/qtabwidget.h
index e6b3f93303..ceec3f8dd8 100644
--- a/src/widgets/widgets/qtabwidget.h
+++ b/src/widgets/widgets/qtabwidget.h
@@ -80,13 +80,13 @@ public:
void removeTab(int index);
bool isTabEnabled(int index) const;
- void setTabEnabled(int index, bool);
+ void setTabEnabled(int index, bool enabled);
bool isTabVisible(int index) const;
- void setTabVisible(int index, bool);
+ void setTabVisible(int index, bool visible);
QString tabText(int index) const;
- void setTabText(int index, const QString &);
+ void setTabText(int index, const QString &text);
QIcon tabIcon(int index) const;
void setTabIcon(int index, const QIcon & icon);
@@ -110,7 +110,7 @@ public:
enum TabPosition { North, South, West, East };
Q_ENUM(TabPosition)
TabPosition tabPosition() const;
- void setTabPosition(TabPosition);
+ void setTabPosition(TabPosition position);
bool tabsClosable() const;
void setTabsClosable(bool closeable);
@@ -132,7 +132,7 @@ public:
QWidget * cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const;
Qt::TextElideMode elideMode() const;
- void setElideMode(Qt::TextElideMode);
+ void setElideMode(Qt::TextElideMode mode);
QSize iconSize() const;
void setIconSize(const QSize &size);