From 348e5f9dd947e53f5c8a0b9522a5af8652d27678 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Thu, 7 Jan 2016 13:56:58 +0100 Subject: Android: Fix QBluetoothSocket::bytesAvailable() Task-number: QTBUG-50345 Change-Id: I721b98f9b6ccff2a987a6c477d08902332ce848c Reviewed-by: Timur Pocheptsov Reviewed-by: Alex Blasche --- src/bluetooth/android/inputstreamthread.cpp | 2 +- src/bluetooth/android/inputstreamthread_p.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bluetooth/android/inputstreamthread.cpp b/src/bluetooth/android/inputstreamthread.cpp index c0e410b3..c1fb750a 100644 --- a/src/bluetooth/android/inputstreamthread.cpp +++ b/src/bluetooth/android/inputstreamthread.cpp @@ -65,7 +65,7 @@ bool InputStreamThread::run() return true; } -bool InputStreamThread::bytesAvailable() const +qint64 InputStreamThread::bytesAvailable() const { QMutexLocker locker(&m_mutex); return m_socket_p->buffer.size(); diff --git a/src/bluetooth/android/inputstreamthread_p.h b/src/bluetooth/android/inputstreamthread_p.h index 5897a524..1e518fdc 100644 --- a/src/bluetooth/android/inputstreamthread_p.h +++ b/src/bluetooth/android/inputstreamthread_p.h @@ -61,7 +61,7 @@ class InputStreamThread : public QObject public: explicit InputStreamThread(QBluetoothSocketPrivate *socket_p); - bool bytesAvailable() const; + qint64 bytesAvailable() const; bool run(); qint64 readData(char *data, qint64 maxSize); -- cgit v1.2.3 From 6b3ef058614fe07942a3506fd4191d12b3659fe9 Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Fri, 8 Jan 2016 15:21:49 +0100 Subject: Fix typo regarding requires Change-Id: I59c6344b1c1ab0c892d8c66a7348f8321e3a603e Reviewed-by: Alex Blasche --- qtconnectivity.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qtconnectivity.pro b/qtconnectivity.pro index 5eb864b8..18a098c9 100644 --- a/qtconnectivity.pro +++ b/qtconnectivity.pro @@ -1,4 +1,4 @@ -require(!android|qtHaveModule(androidextras)) +requires(!android|qtHaveModule(androidextras)) load(configure) qtCompileTest(bluez) -- cgit v1.2.3 From 4a44e0b40422680401c0fd6f588618d2c7a0ff2c Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 14 Jan 2016 15:38:53 +0100 Subject: Bluetooth LE: Fix premature initialization of HCI manager. The private class used a member in its constructor that was only set afterwards. Change-Id: I19b7ca2a5048771a447d63a56ad10ad56c311e91 Reviewed-by: Alex Blasche --- src/bluetooth/qlowenergycontroller.cpp | 3 +++ src/bluetooth/qlowenergycontroller_android.cpp | 4 ++++ src/bluetooth/qlowenergycontroller_bluez.cpp | 11 +++++++---- src/bluetooth/qlowenergycontroller_p.cpp | 4 ++++ src/bluetooth/qlowenergycontroller_p.h | 2 ++ 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/bluetooth/qlowenergycontroller.cpp b/src/bluetooth/qlowenergycontroller.cpp index 3fb68e19..0d5d8bc6 100644 --- a/src/bluetooth/qlowenergycontroller.cpp +++ b/src/bluetooth/qlowenergycontroller.cpp @@ -412,6 +412,7 @@ QLowEnergyController::QLowEnergyController( d->remoteDevice = remoteDevice; d->localAdapter = QBluetoothLocalDevice().address(); d->addressType = QLowEnergyController::PublicAddress; + d->init(); } /*! @@ -437,6 +438,7 @@ QLowEnergyController::QLowEnergyController( d->localAdapter = QBluetoothLocalDevice().address(); d->addressType = QLowEnergyController::PublicAddress; d->remoteName = remoteDeviceInfo.name(); + d->init(); } /*! @@ -464,6 +466,7 @@ QLowEnergyController::QLowEnergyController( d->q_ptr = this; d->remoteDevice = remoteDevice; d->localAdapter = localDevice; + d->init(); } /*! diff --git a/src/bluetooth/qlowenergycontroller_android.cpp b/src/bluetooth/qlowenergycontroller_android.cpp index cb08b6f9..385c00e6 100644 --- a/src/bluetooth/qlowenergycontroller_android.cpp +++ b/src/bluetooth/qlowenergycontroller_android.cpp @@ -52,6 +52,10 @@ QLowEnergyControllerPrivate::~QLowEnergyControllerPrivate() { } +void QLowEnergyControllerPrivate::init() +{ +} + void QLowEnergyControllerPrivate::connectToDevice() { // required to pass unit test on default backend diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp index a00ac565..1e0f726e 100644 --- a/src/bluetooth/qlowenergycontroller_bluez.cpp +++ b/src/bluetooth/qlowenergycontroller_bluez.cpp @@ -207,7 +207,14 @@ QLowEnergyControllerPrivate::QLowEnergyControllerPrivate() { registerQLowEnergyControllerMetaType(); qRegisterMetaType >(); +} + +QLowEnergyControllerPrivate::~QLowEnergyControllerPrivate() +{ +} +void QLowEnergyControllerPrivate::init() +{ hciManager = new HciManager(localAdapter, this); if (!hciManager->isValid()) return; @@ -217,10 +224,6 @@ QLowEnergyControllerPrivate::QLowEnergyControllerPrivate() this, SLOT(encryptionChangedEvent(QBluetoothAddress,bool))); } -QLowEnergyControllerPrivate::~QLowEnergyControllerPrivate() -{ -} - void QLowEnergyControllerPrivate::connectToDevice() { if (remoteDevice.isNull()) { diff --git a/src/bluetooth/qlowenergycontroller_p.cpp b/src/bluetooth/qlowenergycontroller_p.cpp index 79addae2..c16e2733 100644 --- a/src/bluetooth/qlowenergycontroller_p.cpp +++ b/src/bluetooth/qlowenergycontroller_p.cpp @@ -47,6 +47,10 @@ QLowEnergyControllerPrivate::~QLowEnergyControllerPrivate() { } +void QLowEnergyControllerPrivate::init() +{ +} + void QLowEnergyControllerPrivate::connectToDevice() { // required to pass unit test on default backend diff --git a/src/bluetooth/qlowenergycontroller_p.h b/src/bluetooth/qlowenergycontroller_p.h index 40318700..fae26149 100644 --- a/src/bluetooth/qlowenergycontroller_p.h +++ b/src/bluetooth/qlowenergycontroller_p.h @@ -96,6 +96,8 @@ public: QLowEnergyControllerPrivate(); ~QLowEnergyControllerPrivate(); + void init(); + void setError(QLowEnergyController::Error newError); bool isValidLocalAdapter(); -- cgit v1.2.3 From 3ebb79fbb63f422248232db61ff9ca7c48540855 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 14 Jan 2016 16:03:49 +0100 Subject: Bluetooth: Fix mapping of device address to HCI id. The previous code always returned the id of the first device in the list. Change-Id: I6f3cde2405d53eab009d7409d9e3c6b47d97e53b Reviewed-by: Alex Blasche --- src/bluetooth/bluez/hcimanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bluetooth/bluez/hcimanager.cpp b/src/bluetooth/bluez/hcimanager.cpp index 30511ae5..16314f56 100644 --- a/src/bluetooth/bluez/hcimanager.cpp +++ b/src/bluetooth/bluez/hcimanager.cpp @@ -136,7 +136,7 @@ int HciManager::hciForAddress(const QBluetoothAddress &deviceAdapter) int result = memcmp(&adapter, &devInfo.bdaddr, sizeof(bdaddr_t)); if (result == 0 || deviceAdapter.isNull()) // addresses match - return devRequest->dev_id; + return devInfo.dev_id; } return -1; -- cgit v1.2.3 From ad431bbfc15efbe62912d4cdc26025b0ea51b324 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Fri, 15 Jan 2016 10:57:22 +0100 Subject: Fix qdoc warning about missing dtor documentation in QQmlNdefRecord Change-Id: Ic1f3ca5075174addfbc6d76f31d9b89d2c654d19 Reviewed-by: Christian Kandeler --- src/nfc/qqmlndefrecord.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/nfc/qqmlndefrecord.cpp b/src/nfc/qqmlndefrecord.cpp index b204d4d0..ddf2a0bb 100644 --- a/src/nfc/qqmlndefrecord.cpp +++ b/src/nfc/qqmlndefrecord.cpp @@ -243,6 +243,9 @@ QQmlNdefRecord::QQmlNdefRecord(const QNdefRecord &record, QObject *parent) d_ptr->record = record; } +/*! + Destroys the QQmlNdefRecord instance. +*/ QQmlNdefRecord::~QQmlNdefRecord() { delete d_ptr; -- cgit v1.2.3 From 46d727097c986e6c359291b9ad08ebe1b1b271f0 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Fri, 15 Jan 2016 10:54:31 +0100 Subject: Document QtBluetooth and QtNfc logging categories Change-Id: Ib5a9f4e5c0eef85a1acd93454d842bbb0d615751 Reviewed-by: Christian Kandeler --- src/bluetooth/doc/src/bluetooth-index.qdoc | 26 ++++++++++++++++++++++++++ src/nfc/doc/src/nfc-index.qdoc | 14 ++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/src/bluetooth/doc/src/bluetooth-index.qdoc b/src/bluetooth/doc/src/bluetooth-index.qdoc index 41b962bf..b0ba62a0 100644 --- a/src/bluetooth/doc/src/bluetooth-index.qdoc +++ b/src/bluetooth/doc/src/bluetooth-index.qdoc @@ -75,6 +75,32 @@ import statement in your \c .qml file: \li \l {Qt Bluetooth C++ Classes}{C++ Classes} \endlist +\section2 Logging Categories + +The \l QtBluetooth module exports the following +\l {Configuring Categories}{logging categories}: + +\table +\header + \li Logging Category + \li Description +\row + \li qt.bluetooth + \li Enables logging of cross platform code path in QtBluetooth +\row + \li qt.bluetooth.android + \li Enables logging of the Android implementation +\row + \li qt.bluetooth.bluez + \li Enables logging of the BLuez/Linux implementation +\row + \li qt.bluetooth.ios + \li Enables logging of the iOS implementation +\row + \li qt.bluetooth.osx + \li Enables logging of the OS X implementation +\endtable + \section2 Examples \list \li QML diff --git a/src/nfc/doc/src/nfc-index.qdoc b/src/nfc/doc/src/nfc-index.qdoc index da8833d8..a37ba293 100644 --- a/src/nfc/doc/src/nfc-index.qdoc +++ b/src/nfc/doc/src/nfc-index.qdoc @@ -73,6 +73,20 @@ import statement in your \c .qml file: \li \l {Qt NFC C++ Classes}{C++ Classes} \endlist +\section2 Logging Categories + +The \l QtNfc module exports the following +\l {Configuring Categories}{logging categories}: + +\table +\header + \li Logging Category + \li Description +\row + \li qt.nfc.neard + \li Enables logging of the Neard/Linux implementation +\endtable + \section2 Examples \list \li QML -- cgit v1.2.3 From 0b0d7ee34f31ddb2028f59e4cdc66fcbc3575ef7 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 21 Jan 2016 15:10:19 +0100 Subject: Bluetooth: Do not assert on remote data. Otherwise, a malicious device could crash our application. Change-Id: I427eb1ff88b08710d5c74230f5877b0c59b6fb0f Reviewed-by: Alex Blasche --- src/bluetooth/qlowenergycontroller_bluez.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp index 1e0f726e..b37ae4ad 100644 --- a/src/bluetooth/qlowenergycontroller_bluez.cpp +++ b/src/bluetooth/qlowenergycontroller_bluez.cpp @@ -391,7 +391,12 @@ void QLowEnergyControllerPrivate::l2cpReadyRead() break; } - Q_ASSERT(!openRequests.isEmpty()); + if (openRequests.isEmpty()) { + qCWarning(QT_BT_BLUEZ) << "Received unexpected packet from peer, disconnecting."; + disconnectFromDevice(); + return; + } + const Request request = openRequests.dequeue(); processReply(request, reply); -- cgit v1.2.3 From f29aa5e96025939e2040cf1397029a6e608a3ed9 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Tue, 26 Jan 2016 14:57:41 +0100 Subject: Add changelog for QtBluetooth/QtNfc 5.6.0 release Change-Id: I1422ab23ef1abd812eb5523105cbadc8ef1aa015 Reviewed-by: Christian Kandeler --- dist/changes-5.6.0 | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 dist/changes-5.6.0 diff --git a/dist/changes-5.6.0 b/dist/changes-5.6.0 new file mode 100644 index 00000000..3d34719f --- /dev/null +++ b/dist/changes-5.6.0 @@ -0,0 +1,89 @@ +Qt 5.6 introduces new features and improvements as well as bugfixes +over the 5.5.x series. For more details, refer to the online documentation +included in this distribution. The documentation is also available online: + + http://doc.qt.io/qt-5/index.html + +The Qt version 5.6 series is binary compatible with the 5.5.x series. +Applications compiled for 5.5 will continue to run with 5.6. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + + https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Library * +**************************************************************************** + +QtBluetooth +----------- + + - [QTBUG-46377] Added QBluetoothSocket::(set)preferredSecurityFlag(). + - Q_DECLARE_METATYPE declarations added for various Q_ENUMS + - Fixed crash in btscanner example + - Added several documentation fixes + - Fixed wrong emission of CharacteristicWriteError where CharacteristicReadError + should have been emitted + - Fixed wrong emission of DescriptorWriteError where DescriptorReadError + should have been emitted + - Fixed wrong endianness handling in heartlistener example + +QtNfc +----- + + - API has been ported to Android + - Significantly improved implementation and documentation of QML NdefFilter + API + - Added general documentation improvements + - Fixed memory leak due to missing QQmlNdefRecord destructor + +**************************************************************************** +* Platform Specific Changes * +**************************************************************************** + +Android +------- + + - Increased robustness of Bluetooth Low Energy Service detail discovery + - [QTBUG-49367] Fixed missing jar file creation due to wrong build dependencies + - [QTBUG-50125] Fixed missing invalidation of QLowEnergyService details on + disconnect from device + - [QTBUG-50345] Fixed QBluetoothSocket::bytesAvailable() + +Linux/Bluez +----------- + + - [MER#1231] Enforce proper checking of error codes during device discovery + when using Bluez 4.x + - [MER#1225] Adjusted QBluetoothSocket::peerName() to comply with Jolla security + restrictions + - [MER1230] Enforced pairing of StartDiscovery() and StopDiscovery() during device + discovery on Bluez 4 + - Fixed memory leak in Bluez 4 code path of QBluetoothServiceDiscoveryAgent + - [QTBUG-48481] Fixed crash during device discovery due to null pointer access on + Bluez 5 + - [QTBUG-49650] Forcing usage of unbuffered L2CAP sockets for GATT protocol + - [QTBUG-49402] Sanitized handling of app names when registering internal agents + The app name is used to name the dbus path and not every permissible app name + character is a permissible dbus path character + - Removed assert in QLowEnergyController which could be caused by malicious device + +QNX/BlackBerry +-------------- + + - Removed support for this platform from QtNfc + - Removed support for this platform from QtBluetooth + +iOS +--- + + - [QTBUG-48518] Fixed compile and crash bugs when using iOS 9.x + - [QTBUG-48713] Enabled support for Bluetooth system alert dialog + - Fixed threading related timer issues + - [QTBUG-49476] Moved Low Energy code base to non-main dispatch queue + - [QTBUG-50125] Fixed missing invalidation of QLowEnergyService details on + disconnect from device -- cgit v1.2.3 From d1a07d8609e4526059c8d083705f9c3ab7206b58 Mon Sep 17 00:00:00 2001 From: Oleksii Serdiuk Date: Thu, 21 Jan 2016 17:24:45 +0100 Subject: Not all descriptors where discovered in some cases While discovering descriptors, when handles are not numbered sequentially, the discovery stopped as soon as "no attribute in given range found" error is received. However, there could be more characteristics pending. As a result, descriptors for those characteristics where never discovered. Change-Id: Iad9d7203020b0787f1d4571fc7063ef390448ce9 Reviewed-by: Alex Blasche --- src/bluetooth/qlowenergycontroller_bluez.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bluetooth/qlowenergycontroller_bluez.cpp b/src/bluetooth/qlowenergycontroller_bluez.cpp index b37ae4ad..436b3a43 100644 --- a/src/bluetooth/qlowenergycontroller_bluez.cpp +++ b/src/bluetooth/qlowenergycontroller_bluez.cpp @@ -868,7 +868,14 @@ void QLowEnergyControllerPrivate::processReply( Q_ASSERT(!p.isNull()); if (isErrorResponse) { - readServiceValues(p->uuid, false); //read descriptor values + if (keys.count() == 1) { + // no more descriptors to discover + readServiceValues(p->uuid, false); //read descriptor values + } else { + // hop to the next descriptor + keys.removeFirst(); + discoverNextDescriptor(p, keys, keys.first()); + } break; } -- cgit v1.2.3 From 8b550f0a7508ed413cded71a20485e61010b0aa3 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Tue, 2 Feb 2016 09:03:28 +0100 Subject: Update qml types for QtConnectivity 5.6.0 release Change-Id: Iadd9905f4129ede5f0c06b1e1a88a8f932c37c70 Reviewed-by: Christian Kandeler --- src/imports/bluetooth/plugins.qmltypes | 267 +-------------------------------- src/imports/nfc/plugins.qmltypes | 2 +- 2 files changed, 2 insertions(+), 267 deletions(-) diff --git a/src/imports/bluetooth/plugins.qmltypes b/src/imports/bluetooth/plugins.qmltypes index 82b143df..24227c8a 100644 --- a/src/imports/bluetooth/plugins.qmltypes +++ b/src/imports/bluetooth/plugins.qmltypes @@ -7,272 +7,7 @@ import QtQuick.tooling 1.2 // 'qmlplugindump -nonrelocatable QtBluetooth 5.6' Module { - dependencies: [] - Component { - name: "QAbstractItemModel" - prototype: "QObject" - Enum { - name: "LayoutChangeHint" - values: { - "NoLayoutChangeHint": 0, - "VerticalSortHint": 1, - "HorizontalSortHint": 2 - } - } - Signal { - name: "dataChanged" - Parameter { name: "topLeft"; type: "QModelIndex" } - Parameter { name: "bottomRight"; type: "QModelIndex" } - Parameter { name: "roles"; type: "QVector" } - } - Signal { - name: "dataChanged" - Parameter { name: "topLeft"; type: "QModelIndex" } - Parameter { name: "bottomRight"; type: "QModelIndex" } - } - Signal { - name: "headerDataChanged" - Parameter { name: "orientation"; type: "Qt::Orientation" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "layoutChanged" - Parameter { name: "parents"; type: "QList" } - Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } - } - Signal { - name: "layoutChanged" - Parameter { name: "parents"; type: "QList" } - } - Signal { name: "layoutChanged" } - Signal { - name: "layoutAboutToBeChanged" - Parameter { name: "parents"; type: "QList" } - Parameter { name: "hint"; type: "QAbstractItemModel::LayoutChangeHint" } - } - Signal { - name: "layoutAboutToBeChanged" - Parameter { name: "parents"; type: "QList" } - } - Signal { name: "layoutAboutToBeChanged" } - Signal { - name: "rowsAboutToBeInserted" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "rowsInserted" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "rowsAboutToBeRemoved" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "rowsRemoved" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "columnsAboutToBeInserted" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "columnsInserted" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "columnsAboutToBeRemoved" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { - name: "columnsRemoved" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "first"; type: "int" } - Parameter { name: "last"; type: "int" } - } - Signal { name: "modelAboutToBeReset" } - Signal { name: "modelReset" } - Signal { - name: "rowsAboutToBeMoved" - Parameter { name: "sourceParent"; type: "QModelIndex" } - Parameter { name: "sourceStart"; type: "int" } - Parameter { name: "sourceEnd"; type: "int" } - Parameter { name: "destinationParent"; type: "QModelIndex" } - Parameter { name: "destinationRow"; type: "int" } - } - Signal { - name: "rowsMoved" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "start"; type: "int" } - Parameter { name: "end"; type: "int" } - Parameter { name: "destination"; type: "QModelIndex" } - Parameter { name: "row"; type: "int" } - } - Signal { - name: "columnsAboutToBeMoved" - Parameter { name: "sourceParent"; type: "QModelIndex" } - Parameter { name: "sourceStart"; type: "int" } - Parameter { name: "sourceEnd"; type: "int" } - Parameter { name: "destinationParent"; type: "QModelIndex" } - Parameter { name: "destinationColumn"; type: "int" } - } - Signal { - name: "columnsMoved" - Parameter { name: "parent"; type: "QModelIndex" } - Parameter { name: "start"; type: "int" } - Parameter { name: "end"; type: "int" } - Parameter { name: "destination"; type: "QModelIndex" } - Parameter { name: "column"; type: "int" } - } - Method { name: "submit"; type: "bool" } - Method { name: "revert" } - Method { - name: "hasIndex" - type: "bool" - Parameter { name: "row"; type: "int" } - Parameter { name: "column"; type: "int" } - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { - name: "hasIndex" - type: "bool" - Parameter { name: "row"; type: "int" } - Parameter { name: "column"; type: "int" } - } - Method { - name: "index" - type: "QModelIndex" - Parameter { name: "row"; type: "int" } - Parameter { name: "column"; type: "int" } - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { - name: "index" - type: "QModelIndex" - Parameter { name: "row"; type: "int" } - Parameter { name: "column"; type: "int" } - } - Method { - name: "parent" - type: "QModelIndex" - Parameter { name: "child"; type: "QModelIndex" } - } - Method { - name: "sibling" - type: "QModelIndex" - Parameter { name: "row"; type: "int" } - Parameter { name: "column"; type: "int" } - Parameter { name: "idx"; type: "QModelIndex" } - } - Method { - name: "rowCount" - type: "int" - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { name: "rowCount"; type: "int" } - Method { - name: "columnCount" - type: "int" - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { name: "columnCount"; type: "int" } - Method { - name: "hasChildren" - type: "bool" - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { name: "hasChildren"; type: "bool" } - Method { - name: "data" - type: "QVariant" - Parameter { name: "index"; type: "QModelIndex" } - Parameter { name: "role"; type: "int" } - } - Method { - name: "data" - type: "QVariant" - Parameter { name: "index"; type: "QModelIndex" } - } - Method { - name: "setData" - type: "bool" - Parameter { name: "index"; type: "QModelIndex" } - Parameter { name: "value"; type: "QVariant" } - Parameter { name: "role"; type: "int" } - } - Method { - name: "setData" - type: "bool" - Parameter { name: "index"; type: "QModelIndex" } - Parameter { name: "value"; type: "QVariant" } - } - Method { - name: "headerData" - type: "QVariant" - Parameter { name: "section"; type: "int" } - Parameter { name: "orientation"; type: "Qt::Orientation" } - Parameter { name: "role"; type: "int" } - } - Method { - name: "headerData" - type: "QVariant" - Parameter { name: "section"; type: "int" } - Parameter { name: "orientation"; type: "Qt::Orientation" } - } - Method { - name: "fetchMore" - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { - name: "canFetchMore" - type: "bool" - Parameter { name: "parent"; type: "QModelIndex" } - } - Method { - name: "flags" - type: "Qt::ItemFlags" - Parameter { name: "index"; type: "QModelIndex" } - } - Method { - name: "match" - type: "QModelIndexList" - Parameter { name: "start"; type: "QModelIndex" } - Parameter { name: "role"; type: "int" } - Parameter { name: "value"; type: "QVariant" } - Parameter { name: "hits"; type: "int" } - Parameter { name: "flags"; type: "Qt::MatchFlags" } - } - Method { - name: "match" - type: "QModelIndexList" - Parameter { name: "start"; type: "QModelIndex" } - Parameter { name: "role"; type: "int" } - Parameter { name: "value"; type: "QVariant" } - Parameter { name: "hits"; type: "int" } - } - Method { - name: "match" - type: "QModelIndexList" - Parameter { name: "start"; type: "QModelIndex" } - Parameter { name: "role"; type: "int" } - Parameter { name: "value"; type: "QVariant" } - } - } - Component { name: "QAbstractListModel"; prototype: "QAbstractItemModel" } + dependencies: ["QtQuick 2.0"] Component { name: "QDeclarativeBluetoothDiscoveryModel" prototype: "QAbstractListModel" diff --git a/src/imports/nfc/plugins.qmltypes b/src/imports/nfc/plugins.qmltypes index 54459946..129b8cad 100644 --- a/src/imports/nfc/plugins.qmltypes +++ b/src/imports/nfc/plugins.qmltypes @@ -7,7 +7,7 @@ import QtQuick.tooling 1.2 // 'qmlplugindump -nonrelocatable QtNfc 5.6' Module { - dependencies: [] + dependencies: ["QtQuick 2.0"] Component { name: "QDeclarativeNdefFilter" prototype: "QObject" -- cgit v1.2.3 From 532dc8b90a6b3dc7e59de005cd9d0004b5732ce9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 8 Feb 2016 14:55:51 +0100 Subject: Bump version Change-Id: Ie993ef22029b1d05f39e4edc8f859841790ca6a6 --- .qmake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.qmake.conf b/.qmake.conf index a9b6a329..9450b838 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -1,4 +1,4 @@ load(qt_build_config) CONFIG += qt_example_installs -MODULE_VERSION = 5.6.0 +MODULE_VERSION = 5.6.1 -- cgit v1.2.3 From dec32076b9153febc575a0418af702f8cb400258 Mon Sep 17 00:00:00 2001 From: Alex Blasche Date: Wed, 10 Feb 2016 11:16:33 +0100 Subject: Update gitnignore following recent changes in the build system The build system generates wrapper scripts for direct host tool calls. This scripts should not be tracked by git. Change-Id: I9b2c9521c2c12e38f32ae69621d72e18eb33945b Reviewed-by: Christian Kandeler Reviewed-by: Timur Pocheptsov --- .gitignore | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.gitignore b/.gitignore index dfff2764..830bb63b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,15 @@ qrc_*.cpp *.moc *so-deployment-settings.json .qmake.cache +.pch +QtBluetooth.version* +QtNfc.version* +target_wrapper.sh +uic_wrapper.sh +qdoc_wrapper.sh +qhelpgenerator_wrapper.sh +qmlplugindump_wrapper.sh +qdbusxml2cpp_wrapper.sh config.log tmp imports/* @@ -29,6 +38,7 @@ config.tests/bluez_le/bluez_le examples/bluetooth/btchat/btchat examples/bluetooth/btfiletransfer/btfiletransfer examples/bluetooth/btscanner/btscanner +examples/bluetooth/chat/qml_chat examples/bluetooth/heartlistener/heartlistener examples/bluetooth/lowenergyscanner/lowenergyscanner examples/bluetooth/pingpong/pingpong -- cgit v1.2.3