aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2016-06-02 19:29:33 +0300
committerOrgad Shaneh <orgads@gmail.com>2016-06-06 14:54:28 +0000
commitf8db4c3b0c8f286f8ef0831d6c386b94a6248d3e (patch)
tree1a1725eb93dfe85965b1cb7f81e637f94587fbcf
parent8e05c6364ae0573bade42ed6eecaab000f8693e4 (diff)
Bump required Qt version to 5.4.0
Required for using new functions of QTimer. Get rid of workarounds and helper functions that support previous versions. Change-Id: I13bec075ce3014083120834a402bdc213df10be9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
-rw-r--r--README4
-rw-r--r--doc/qbs.qdoc8
-rw-r--r--qbs-resources/imports/QbsProduct.qbs2
-rw-r--r--qbs.pro4
-rw-r--r--src/lib/corelib/jsextensions/propertylist.mm12
-rw-r--r--src/lib/corelib/jsextensions/propertylistutils.h45
-rw-r--r--src/lib/corelib/jsextensions/propertylistutils.mm12
-rw-r--r--src/lib/corelib/tools/qbsassert.h5
-rw-r--r--tests/auto/blackbox/tst_blackbox.cpp2
9 files changed, 18 insertions, 76 deletions
diff --git a/README b/README
index 1f7bee933..ad7bb77e6 100644
--- a/README
+++ b/README
@@ -10,12 +10,12 @@ Windows XP SP2 or later
OS X 10.6 or later
Linux (tested on Debian 6/7 and Ubuntu 13)
-Building the sources requires Qt 5.1.0 or later.
+Building the sources requires Qt 5.4.0 or later.
Build Instructions
==================
Prerequisites:
- * Qt 5.1.0 or later
+ * Qt 5.4.0 or later
* On Windows:
- MinGW or Visual Studio
* On OS X: Xcode
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc
index a2043f8f1..8d782823b 100644
--- a/doc/qbs.qdoc
+++ b/doc/qbs.qdoc
@@ -118,13 +118,7 @@
\title System Requirements
- To build \QBS from the source, you need the following:
-
- \list
-
- \li Qt >= 5.1.0
-
- \endlist
+ To build \QBS from the source, you need Qt 5.4.0, or later
*/
diff --git a/qbs-resources/imports/QbsProduct.qbs b/qbs-resources/imports/QbsProduct.qbs
index de5f7f12a..0bd43bf08 100644
--- a/qbs-resources/imports/QbsProduct.qbs
+++ b/qbs-resources/imports/QbsProduct.qbs
@@ -3,7 +3,7 @@ import QbsFunctions
Product {
Depends { name: "Qt.core" }
- property string minimumQtVersion: "5.1.0"
+ property string minimumQtVersion: "5.4.0"
cpp.defines: {
var res = ["QT_NO_CAST_FROM_ASCII", "QT_NO_PROCESS_COMBINED_ARGUMENT_START"];
if (qbs.toolchain.contains("msvc"))
diff --git a/qbs.pro b/qbs.pro
index 68d7aa5d9..1ff1e02eb 100644
--- a/qbs.pro
+++ b/qbs.pro
@@ -21,9 +21,9 @@ defineTest(minQtVersion) {
return(false)
}
-!minQtVersion(5, 1, 0) {
+!minQtVersion(5, 4, 0) {
message("Cannot build qbs with Qt version $${QT_VERSION}.")
- error("Use at least Qt 5.1.0.")
+ error("Use at least Qt 5.4.0.")
}
TEMPLATE = subdirs
diff --git a/src/lib/corelib/jsextensions/propertylist.mm b/src/lib/corelib/jsextensions/propertylist.mm
index dae241e5f..6c5a029cb 100644
--- a/src/lib/corelib/jsextensions/propertylist.mm
+++ b/src/lib/corelib/jsextensions/propertylist.mm
@@ -240,7 +240,7 @@ void PropertyListPrivate::readFromData(QScriptContext *context, QByteArray data)
respondsToSelector:@selector(propertyListWithData:options:format:error:)]) {
error = nil;
errorString = nil;
- plist = [NSPropertyListSerialization propertyListWithData:QByteArray_toNSData(data)
+ plist = [NSPropertyListSerialization propertyListWithData:data.toNSData()
options:0
format:&format error:&error];
if (Q_UNLIKELY(!plist)) {
@@ -251,7 +251,7 @@ void PropertyListPrivate::readFromData(QScriptContext *context, QByteArray data)
{
error = nil;
errorString = nil;
- plist = [NSPropertyListSerialization propertyListFromData:QByteArray_toNSData(data)
+ plist = [NSPropertyListSerialization propertyListFromData:data.toNSData()
mutabilityOption:NSPropertyListImmutable
format:&format
errorDescription:&errorString];
@@ -262,7 +262,7 @@ void PropertyListPrivate::readFromData(QScriptContext *context, QByteArray data)
if (!plist && NSClassFromString(@"NSJSONSerialization")) {
error = nil;
errorString = nil;
- plist = [NSJSONSerialization JSONObjectWithData:QByteArray_toNSData(data)
+ plist = [NSJSONSerialization JSONObjectWithData:data.toNSData()
options:0
error:&error];
if (Q_UNLIKELY(!plist)) {
@@ -274,7 +274,7 @@ void PropertyListPrivate::readFromData(QScriptContext *context, QByteArray data)
#endif
if (Q_UNLIKELY(!plist)) {
- context->throwError(QString_fromNSString(errorString));
+ context->throwError(QString::fromNSString(errorString));
} else {
QVariant obj = QPropertyListUtils::fromPropertyList(plist);
if (!obj.isNull()) {
@@ -351,10 +351,10 @@ QByteArray PropertyListPrivate::writeToData(QScriptContext *context, const QStri
}
if (Q_UNLIKELY(!data)) {
- context->throwError(QString_fromNSString(errorString));
+ context->throwError(QString::fromNSString(errorString));
}
- return QByteArray_fromNSData(data);
+ return QByteArray::fromNSData(data);
}
}
diff --git a/src/lib/corelib/jsextensions/propertylistutils.h b/src/lib/corelib/jsextensions/propertylistutils.h
index 453bdb9ea..8b8651a60 100644
--- a/src/lib/corelib/jsextensions/propertylistutils.h
+++ b/src/lib/corelib/jsextensions/propertylistutils.h
@@ -39,51 +39,6 @@
#error "This file must be included from Objective-C++"
#endif
-static inline QString QString_fromNSString(const NSString *string)
-{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
- return QString::fromNSString(string);
-#else
- if (!string)
- return QString();
- QString qstring;
- qstring.resize([string length]);
- [string getCharacters:reinterpret_cast<unichar*>(qstring.data())
- range:NSMakeRange(0, [string length])];
- return qstring;
-#endif
-}
-
-static inline NSString *QString_toNSString(const QString &qstring)
-{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0)
- return qstring.toNSString();
-#else
- return [NSString stringWithCharacters:reinterpret_cast<const UniChar*>(qstring.unicode())
- length:qstring.length()];
-#endif
-}
-
-static inline QByteArray QByteArray_fromNSData(const NSData *data)
-{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)
- return QByteArray::fromNSData(data);
-#else
- if (!data)
- return QByteArray();
- return QByteArray(reinterpret_cast<const char*>([data bytes]), [data length]);
-#endif
-}
-
-static inline NSData *QByteArray_toNSData(const QByteArray &qbytearray)
-{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0)
- return qbytearray.toNSData();
-#else
- return [NSData dataWithBytes:qbytearray.constData() length:qbytearray.size()];
-#endif
-}
-
class QPropertyListUtils
{
Q_DISABLE_COPY(QPropertyListUtils)
diff --git a/src/lib/corelib/jsextensions/propertylistutils.mm b/src/lib/corelib/jsextensions/propertylistutils.mm
index a80a1a39e..a82bcac92 100644
--- a/src/lib/corelib/jsextensions/propertylistutils.mm
+++ b/src/lib/corelib/jsextensions/propertylistutils.mm
@@ -71,9 +71,9 @@ static QVariant fromObject(id obj)
} else if ([obj isKindOfClass:[NSArray class]]) {
value = fromArray(obj);
} else if ([obj isKindOfClass:[NSString class]]) {
- value = QString_fromNSString(obj);
+ value = QString::fromNSString(obj);
} else if ([obj isKindOfClass:[NSData class]]) {
- value = QByteArray_fromNSData(obj);
+ value = QByteArray::fromNSData(obj);
} else if ([obj isKindOfClass:[NSDate class]]) {
value = QDateTime_fromNSDate(obj);
} else if ([obj isKindOfClass:[NSNumber class]]) {
@@ -116,7 +116,7 @@ static QVariantMap fromDictionary(NSDictionary *dict)
{
QVariantMap map;
for (NSString *key in dict)
- map[QString_fromNSString(key)] = fromObject([dict objectForKey:key]);
+ map[QString::fromNSString(key)] = fromObject([dict objectForKey:key]);
return map;
}
@@ -146,9 +146,9 @@ static id toObject(const QVariant &variant)
} else if (variant.type() == QVariant::List) {
return toArray(variant.toList());
} else if (variant.type() == QVariant::String) {
- return QString_toNSString(variant.toString());
+ return variant.toString().toNSString();
} else if (variant.type() == QVariant::ByteArray) {
- return QByteArray_toNSData(variant.toByteArray());
+ return variant.toByteArray().toNSData();
} else if (variant.type() == QVariant::Date ||
variant.type() == QVariant::DateTime) {
return QDateTime_toNSDate(variant.toDateTime());
@@ -178,7 +178,7 @@ static NSDictionary *toDictionary(const QVariantMap &map)
QMapIterator<QString, QVariant> i(map);
while (i.hasNext()) {
i.next();
- [dict setObject:toObject(i.value()) forKey:QString_toNSString(i.key())];
+ [dict setObject:toObject(i.value()) forKey:i.key().toNSString()];
}
return [NSDictionary dictionaryWithDictionary:dict];
}
diff --git a/src/lib/corelib/tools/qbsassert.h b/src/lib/corelib/tools/qbsassert.h
index 173a6d66a..6c3f5342f 100644
--- a/src/lib/corelib/tools/qbsassert.h
+++ b/src/lib/corelib/tools/qbsassert.h
@@ -33,11 +33,6 @@
#include "qbs_export.h"
-// TODO: Remove once we require 5.3.
-#ifndef Q_NORETURN
-#define Q_NORETURN
-#endif
-
namespace qbs {
namespace Internal {
diff --git a/tests/auto/blackbox/tst_blackbox.cpp b/tests/auto/blackbox/tst_blackbox.cpp
index d148bfc5f..37449f867 100644
--- a/tests/auto/blackbox/tst_blackbox.cpp
+++ b/tests/auto/blackbox/tst_blackbox.cpp
@@ -2573,12 +2573,10 @@ void TestBlackbox::jsExtensionsPropertyList()
QByteArray file1Contents = file1.readAll();
QCOMPARE(file3.readAll(), file1Contents);
//QCOMPARE(file1Contents, file2.readAll()); // keys don't have guaranteed order
-#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
QJsonParseError err1, err2;
QCOMPARE(QJsonDocument::fromJson(file1Contents, &err1),
QJsonDocument::fromJson(file2.readAll(), &err2));
QVERIFY(err1.error == QJsonParseError::NoError && err2.error == QJsonParseError::NoError);
-#endif
QFile file4("test.openstep.plist");
QVERIFY(file4.exists());
QFile file5("test3.json");