diff options
Diffstat (limited to 'src/qtdevicesettings/bluetoothsettingsplugin')
17 files changed, 0 insertions, 1267 deletions
diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/Bluetooth.qml b/src/qtdevicesettings/bluetoothsettingsplugin/Bluetooth.qml deleted file mode 100644 index 88a7d7c..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/Bluetooth.qml +++ /dev/null @@ -1,89 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.5 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 -import QtQuick.Controls.Styles.Flat 1.0 as Flat -import com.theqtcompany.settings.common 1.0 -import com.theqtcompany.settings.bluetooth 1.0 - -Item { - id: root - property string title: qsTr("Bluetooth Settings") - - Column { - id: content - anchors.fill: parent - anchors.margins: Math.round(40 * Flat.FlatStyle.scaleFactor) - - GroupBox { - id: groupBox - width: parent.width - title: qsTr("Bluetooth status") - Layout.fillWidth: true - - ColumnLayout { - spacing: Math.round(10 * Flat.FlatStyle.scaleFactor) - width: parent.width - Layout.fillWidth: true - - Row { - spacing: Math.round(10 * Flat.FlatStyle.scaleFactor) - TextLabel { - id: off - text: qsTr("Off") - } - - Switch { - checked: BtDevice.powered - onCheckedChanged: BtDevice.powered = checked - } - - TextLabel { - text: qsTr("On") - } - } - } - } - - Discovery { - id: discovery - visible: BtDevice.powered - width: parent.width - height: Math.round(content.height - 100 * Flat.FlatStyle.scaleFactor) - } - } -} diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/Discovery.qml b/src/qtdevicesettings/bluetoothsettingsplugin/Discovery.qml deleted file mode 100644 index d40ccbe..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/Discovery.qml +++ /dev/null @@ -1,142 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -import QtQuick 2.5 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 1.4 -import QtBluetooth 5.2 -import QtQuick.Controls.Styles.Flat 1.0 as Flat -import com.theqtcompany.settings.common 1.0 -import com.theqtcompany.settings.bluetooth 1.0 - -Item { - id: top - property BluetoothService currentService - - GroupBox { - id: groupBox - title: qsTr("Devices") - width: parent.width - - ListView { - id: mainList - width: parent.width - height: top.height - - function getIcon(deviceType) { - switch (deviceType) { - case BtDeviceItem.Computer: - return "../icons/Laptop_qt_1x.png" - case BtDeviceItem.Headphones: - return "../icons/Headphones_qt_1x.png" - case BtDeviceItem.Microphone: - return "../icons/Microphone_qt_1x.png" - case BtDeviceItem.Mouse: - return "../icons/Mouse_qt_1x.png" - case BtDeviceItem.Keyboard: - return "../icons/Keyboard_qt_1x.png" - default: - return "../icons/Bluetooth_qt_1x.png" - } - } - - model: BtDevice.deviceModel - delegate: Rectangle { - id: btDelegate - width: parent.width - height: Math.round(column.height + 10 * Flat.FlatStyle.scaleFactor) - - property bool expended: false; - clip: true - - MouseArea { - anchors.fill: parent - onClicked: btDelegate.expended = !btDelegate.expended - } - - RowLayout { - anchors.top: parent.top - anchors.left: parent.left - spacing: Math.round(10 * Flat.FlatStyle.scaleFactor) - - Image { - id: bticon - source: mainList.getIcon(type) - } - - Column { - id: column - TextLabel { - id: bttext - text: name - } - - TextLabel { - id: details - opacity: btDelegate.expended ? 1 : 0.0 - text: address - Behavior on opacity { - NumberAnimation { duration: 200} - } - } - } - } - - Button { - anchors.right: parent.right - anchors.rightMargin: Math.round(10 * Flat.FlatStyle.scaleFactor) - visible: !BtDevice.scanning - text: connected ? qsTr("Disconnect") : qsTr("Connect") - - onClicked : connected ? BtDevice.requestDisconnect(address) : BtDevice.requestPairing(address); - } - - Behavior on height { NumberAnimation { duration: 200} } - - } - focus: true - } - } - - BusyIndicator { - anchors.right: groupBox.right - anchors.top: groupBox.top - anchors.topMargin: Math.round(40 * Flat.FlatStyle.scaleFactor) - anchors.rightMargin: Math.round(10 * Flat.FlatStyle.scaleFactor) - height: Math.round(20 * Flat.FlatStyle.scaleFactor) - width: Math.round(20 * Flat.FlatStyle.scaleFactor) - running: BtDevice.scanning - } -} diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothdevice.cpp b/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothdevice.cpp deleted file mode 100644 index 65a7422..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothdevice.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include <discoverymodel.h> -#include "bluetoothdevice.h" -#include "bluez/bluetoothdevice_p.h" - -BluetoothDevice::BluetoothDevice(QObject *parent) : QObject(parent) - ,m_localDevice(new QBluetoothLocalDevice(this)) - ,m_deviceModel(new DiscoveryModel(this)) - ,m_powered(false) - ,m_scanning(true) -{ - m_powered = m_localDevice->hostMode() != QBluetoothLocalDevice::HostPoweredOff; - - connect(m_localDevice, &QBluetoothLocalDevice::hostModeStateChanged, this, &BluetoothDevice::deviceStateChanged); - connect(m_localDevice, &QBluetoothLocalDevice::deviceConnected, this, &BluetoothDevice::deviceConnected); - connect(m_localDevice, &QBluetoothLocalDevice::deviceDisconnected, this, &BluetoothDevice::deviceDisconnected); - connect(m_deviceModel, &DiscoveryModel::scanFinished, this, &BluetoothDevice::scanFinished); - - if (m_powered) { - m_deviceModel->scanDevices(); - } - -} - -void BluetoothDevice::deviceStateChanged(QBluetoothLocalDevice::HostMode state) -{ - m_powered = state != QBluetoothLocalDevice::HostPoweredOff; - emit poweredChanged(); -} - -bool BluetoothDevice::powered() const -{ - return m_powered; -} - -void BluetoothDevice::setPowered(const bool& aPowered) -{ - if (aPowered) { - m_localDevice->powerOn(); - } - else { - m_localDevice->setHostMode(QBluetoothLocalDevice::HostPoweredOff); - } -} - -QObject* BluetoothDevice::deviceModel() const -{ - return static_cast<QObject*>(m_deviceModel); -} - -void BluetoothDevice::scanFinished() -{ - m_scanning = false; - emit scanningChanged(); - updateConnectionStatuses(); -} - -bool BluetoothDevice::scanning() const -{ - return m_scanning; -} - -void BluetoothDevice::setScanning(const bool& aScan) -{ - if (m_scanning && !aScan) { - //TODO m_deviceModel->cancel(); - } - else if (aScan && !m_scanning) { - m_deviceModel->scanDevices(); - m_scanning = true; - emit scanningChanged(); - } -} - -void BluetoothDevice::updateConnectionStatuses() -{ - QList<QBluetoothAddress> connectedDevices = - m_localDevice->connectedDevices(); - - foreach (QBluetoothAddress addr, connectedDevices) { - m_deviceModel->setConnected(addr.toString(), true); - } -} - -void BluetoothDevice::requestPairing(const QString& address) -{ - QBluetoothAddress addr(address); - m_localDevice->requestPairing(addr, QBluetoothLocalDevice::Paired); - connect(m_localDevice, &QBluetoothLocalDevice::pairingDisplayConfirmation, this, &BluetoothDevice::pairingDisplayConfirmation); - - connect(m_localDevice, &QBluetoothLocalDevice::pairingDisplayPinCode, this, &BluetoothDevice::pairingDisplayPinCode); - - connect(m_localDevice, &QBluetoothLocalDevice::pairingFinished, this, &BluetoothDevice::pairingFinished); -} - -void BluetoothDevice::requestConnect(const QString &address) -{ - QScopedPointer<BluetoothDevicePrivate> connectionHandler(new BluetoothDevicePrivate(address)); - connectionHandler->connectDevice(); -} - -void BluetoothDevice::requestDisconnect(const QString& address) -{ - QScopedPointer<BluetoothDevicePrivate> connectionHandler(new BluetoothDevicePrivate(address)); - connectionHandler->disconnectDevice(); -} - -void BluetoothDevice::pairingDisplayConfirmation(const QBluetoothAddress & address, QString pin) -{ - Q_UNUSED(address); - Q_UNUSED(pin); -} - -void BluetoothDevice::pairingDisplayPinCode(const QBluetoothAddress & address, QString pin) -{ - Q_UNUSED(address); - Q_UNUSED(pin); -} - -void BluetoothDevice::pairingFinished(const QBluetoothAddress & address, QBluetoothLocalDevice::Pairing pairing) -{ - if (pairing == QBluetoothLocalDevice::Paired) { - requestConnect(address.toString()); - } -} - -void BluetoothDevice::deviceConnected(const QBluetoothAddress & address) -{ - m_deviceModel->setConnected(address.toString(), true); -} - -void BluetoothDevice::deviceDisconnected(const QBluetoothAddress & address) -{ - m_deviceModel->setConnected(address.toString(), false); -} diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothdevice.h b/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothdevice.h deleted file mode 100644 index 370b2bc..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothdevice.h +++ /dev/null @@ -1,85 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef BLUETOOTHDEVICE_H -#define BLUETOOTHDEVICE_H - -#include <QObject> -#include <QBluetoothLocalDevice> - -class DiscoveryModel; - -class BluetoothDevice : public QObject -{ - Q_OBJECT - Q_PROPERTY(bool scanning READ scanning WRITE setScanning NOTIFY scanningChanged) - Q_PROPERTY(bool powered READ powered WRITE setPowered NOTIFY poweredChanged) - Q_PROPERTY(QObject* deviceModel READ deviceModel CONSTANT) -public: - explicit BluetoothDevice(QObject *parent = 0); - bool powered() const; - void setPowered(const bool& aPowered); - QObject* deviceModel() const; - bool scanning() const; - void setScanning(const bool& aScan); - Q_INVOKABLE void requestPairing(const QString& address); - Q_INVOKABLE void requestConnect(const QString& address); - Q_INVOKABLE void requestDisconnect(const QString& address); -signals: - void poweredChanged(); - void scanningChanged(); - -public slots: - void deviceStateChanged(QBluetoothLocalDevice::HostMode state); - void scanFinished(); - //These are not yet signaled - //See bug https://bugreports.qt.io/browse/QTBUG-38401 - void pairingDisplayConfirmation(const QBluetoothAddress & address, QString pin); - void pairingDisplayPinCode(const QBluetoothAddress & address, QString pin); - void pairingFinished(const QBluetoothAddress & address, QBluetoothLocalDevice::Pairing pairing); - void deviceConnected(const QBluetoothAddress & address); - void deviceDisconnected(const QBluetoothAddress & address); - -private: - void updateConnectionStatuses(); - -private: - QBluetoothLocalDevice* m_localDevice; - DiscoveryModel *m_deviceModel; - bool m_powered; - bool m_scanning; -}; - -#endif // BLUETOOTHDEVICE_H diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothsettingsplugin.pro b/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothsettingsplugin.pro deleted file mode 100644 index 5ca0add..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluetoothsettingsplugin.pro +++ /dev/null @@ -1,32 +0,0 @@ -TEMPLATE = lib -CONFIG += plugin -QT += qml bluetooth -uri = com.theqtcompany.settings.bluetooth - -TARGET = btsettingsplugin - -include(bluez/bluez.pri) - -HEADERS = \ - bluetoothdevice.h \ - discoverymodel.h - -SOURCES += plugin.cpp \ - bluetoothdevice.cpp \ - discoverymodel.cpp - - -pluginfiles.files += \ - qmldir \ - -installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /) - -target.path = $$installPath -pluginfiles.path += $$installPath -INSTALLS += target pluginfiles - - -RESOURCES += \ - icons.qrc \ - qml.qrc - diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluetoothdevice_p.cpp b/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluetoothdevice_p.cpp deleted file mode 100644 index ded84f2..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluetoothdevice_p.cpp +++ /dev/null @@ -1,98 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#include "bluetoothdevice_p.h" -#include "datatypes.h" -#include "objectmanager_interface.cpp" -#include "moc_objectmanager_interface.cpp" -#include "device1_interface.h" - - -BluetoothDevicePrivate::BluetoothDevicePrivate(const QString& address, QObject *parent) - :QObject(parent) - ,m_address(address) -{ - -} - -OrgBluezDevice1Interface* BluetoothDevicePrivate::findDevice() -{ - OrgFreedesktopDBusObjectManagerInterface manager(QStringLiteral("org.bluez"), - QStringLiteral("/"), - QDBusConnection::systemBus()); - QDBusPendingReply<ManagedObjectList> reply = manager.GetManagedObjects(); - reply.waitForFinished(); - if (reply.isError()) { - qWarning() << "Failed to get objects"; - return NULL; - } - - ManagedObjectList managedObjectList = reply.value(); - for (ManagedObjectList::const_iterator it = managedObjectList.constBegin(); it != managedObjectList.constEnd(); ++it) { - const QDBusObjectPath &path = it.key(); - - const InterfaceList &ifaceList = it.value(); - for (InterfaceList::const_iterator jt = ifaceList.constBegin(); jt != ifaceList.constEnd(); ++jt) { - const QString &iface = jt.key(); - const QVariantMap &ifaceValues = jt.value(); - if (iface == QStringLiteral("org.bluez.Device1")) { - if (ifaceValues["Address"] == m_address) { - OrgBluezDevice1Interface *devIf = new OrgBluezDevice1Interface("org.bluez", path.path(), QDBusConnection::systemBus()); - return devIf; - } - } - } - } - return NULL; -} - - -void BluetoothDevicePrivate::connectDevice() -{ - OrgBluezDevice1Interface *dev = findDevice(); - if (dev) { - dev->Connect(); - dev->deleteLater(); - } -} - -void BluetoothDevicePrivate::disconnectDevice() -{ - OrgBluezDevice1Interface *dev = findDevice(); - if (dev) { - dev->Disconnect(); - dev->deleteLater(); - } -} diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluetoothdevice_p.h b/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluetoothdevice_p.h deleted file mode 100644 index 0bd9599..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluetoothdevice_p.h +++ /dev/null @@ -1,56 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utils module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef BLUETOOTHDEVICE__P_H -#define BLUETOOTHDEVICE__P_H - -#include <QObject> -#include <bluetooth/bluetooth.h> - -class OrgBluezDevice1Interface; - -class BluetoothDevicePrivate : public QObject -{ -public: - explicit BluetoothDevicePrivate(const QString& address, QObject *parent=0); - void connectDevice(); - void disconnectDevice(); - -private: - OrgBluezDevice1Interface* findDevice(); - QString m_address; -}; - -#endif // BLUETOOTHDEVICE__P_H diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluez.pri b/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluez.pri deleted file mode 100644 index f20be87..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/bluez.pri +++ /dev/null @@ -1,21 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2015-11-03T13:52:45 -# -#------------------------------------------------- - -QT += core dbus - -INCLUDEPATH += $${PWD} -INCLUDEPATH += $${PWD}/bluez - -DBUS_INTERFACES = \ - $${PWD}/objectmanager.xml \ - $${PWD}/device1.xml \ - -HEADERS += \ - $$PWD/bluetoothdevice_p.h \ - $$PWD/dbusdatatypes.h - -SOURCES += \ - $$PWD/bluetoothdevice_p.cpp diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/datatypes.h b/src/qtdevicesettings/bluetoothsettingsplugin/bluez/datatypes.h deleted file mode 100644 index b794c47..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/datatypes.h +++ /dev/null @@ -1,53 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utils module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef DATATYPES_H -#define DATATYPES_H - -#include <QObject> -#include <QtDBus> -#include <QMap> -#include <QVariantMap> -#include <QtDBus/QDBusObjectPath> -#include <QtCore/QMetaType> - -typedef QMap<QString, QVariantMap> InterfaceList; -typedef QMap<QDBusObjectPath, InterfaceList> ManagedObjectList; - -Q_DECLARE_METATYPE(InterfaceList) -Q_DECLARE_METATYPE(ManagedObjectList) - - -#endif // DATATYPES_H diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/device1.xml b/src/qtdevicesettings/bluetoothsettingsplugin/bluez/device1.xml deleted file mode 100644 index 5b16992..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/device1.xml +++ /dev/null @@ -1,31 +0,0 @@ -<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" - "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> -<node> - <interface name="org.bluez.Device1"> - <method name="Disconnect"></method> - <method name="Connect"></method> - <method name="ConnectProfile"> - <arg name="UUID" type="s" direction="in"/> - </method> - <method name="DisconnectProfile"> - <arg name="UUID" type="s" direction="in"/> - </method> - <method name="Pair"></method> - <method name="CancelPairing"></method> - <property name="Address" type="s" access="read"></property> - <property name="Name" type="s" access="read"></property> - <property name="Alias" type="s" access="readwrite"></property> - <property name="Appearance" type="q" access="read"></property> - <property name="Icon" type="s" access="read"></property> - <property name="Paired" type="b" access="read"></property> - <property name="Trusted" type="b" access="readwrite"></property> - <property name="Blocked" type="b" access="readwrite"></property> - <property name="LegacyPairing" type="b" access="read"></property> - <property name="RSSI" type="n" access="read"></property> - <property name="Connected" type="b" access="read"></property> - <property name="UUIDs" type="as" access="read"></property> - <property name="Modalias" type="s" access="read"></property> - <property name="Adapter" type="o" access="read"></property> - </interface> -</node> - diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/objectmanager.xml b/src/qtdevicesettings/bluetoothsettingsplugin/bluez/objectmanager.xml deleted file mode 100644 index e52d6fe..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/bluez/objectmanager.xml +++ /dev/null @@ -1,20 +0,0 @@ -<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" - "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd"> -<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> - <interface name="org.freedesktop.DBus.ObjectManager"> - <method name="GetManagedObjects"> - <arg type="a{oa{sa{sv}}}" name="object_paths_interfaces_and_properties" direction="out"/> - <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="ManagedObjectList"/> - </method> - <signal name="InterfacesAdded"> - <arg type="o" name="object_path"/> - <arg type="a{sa{sv}}" name="interfaces_and_properties"/> - <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="InterfaceList"/> - </signal> - <signal name="InterfacesRemoved"> - <arg type="o" name="object_path"/> - <arg type="as" name="interfaces"/> - </signal> - </interface> -</node> - diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/discoverymodel.cpp b/src/qtdevicesettings/bluetoothsettingsplugin/discoverymodel.cpp deleted file mode 100644 index 36d3a2e..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/discoverymodel.cpp +++ /dev/null @@ -1,246 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QBluetoothAddress> -#include "discoverymodel.h" - -BtDeviceItem::BtDeviceItem(const QBluetoothDeviceInfo& bt, QObject *parent) - : QObject(parent) - ,m_name(bt.name()) - ,m_address(bt.address().toString()) - ,m_connected(false) -{ - m_type = getDeviceType(bt.majorDeviceClass(), bt.minorDeviceClass()); -} - -QString BtDeviceItem::name() const -{ - return m_name; -} - -QString BtDeviceItem::address() const -{ - return m_address; -} - -bool BtDeviceItem::connected() const -{ - return m_connected; -} - -void BtDeviceItem::setConnected(bool aConnected) -{ - m_connected = aConnected; - emit connectedChanged(); -} - -BtDeviceItem::DeviceType BtDeviceItem::type() const -{ - return m_type; -} - -BtDeviceItem::DeviceType BtDeviceItem::getDeviceType(const QBluetoothDeviceInfo::MajorDeviceClass major, const quint8 minor) const -{ - switch (major) { - case QBluetoothDeviceInfo::ComputerDevice: - return getComputerDeviceType(minor); - break; - case QBluetoothDeviceInfo::PhoneDevice: - return getPhoneDeviceType(minor); - break; - case QBluetoothDeviceInfo::AudioVideoDevice: - return getAudioDeviceType(minor); - break; - case QBluetoothDeviceInfo::PeripheralDevice: - return getPeripheralDeviceType(minor); - break; - case QBluetoothDeviceInfo::ImagingDevice: - return getImagingDeviceType(minor); - break; - default: - return GenericDevice; - } - return GenericDevice; -} - -BtDeviceItem::DeviceType BtDeviceItem::getComputerDeviceType(const quint8 minor) const -{ - Q_UNUSED(minor); - return Computer; -} - -BtDeviceItem::DeviceType BtDeviceItem::getAudioDeviceType(const quint8 minor) const -{ - switch (minor) { - case QBluetoothDeviceInfo::Microphone: - return Microphone; - break; - case QBluetoothDeviceInfo::WearableHeadsetDevice: - case QBluetoothDeviceInfo::Headphones: - return Headphones; - break; - case QBluetoothDeviceInfo::Camcorder: - case QBluetoothDeviceInfo::VideoCamera: - return Camcorder; - break; - default: - return GenericDevice; - break; - } -} - -BtDeviceItem::DeviceType BtDeviceItem::getPeripheralDeviceType(const quint8 minor) const -{ - switch (minor) { - case QBluetoothDeviceInfo::KeyboardPeripheral: - return Keyboard; - break; - case QBluetoothDeviceInfo::PointingDevicePeripheral: - return Mouse; - break; - default: - return GenericDevice; - break; - } -} - -BtDeviceItem::DeviceType BtDeviceItem::getImagingDeviceType(const quint8 minor) const -{ - switch (minor) { - case QBluetoothDeviceInfo::ImageCamera: - return Camera; - break; - default: - return GenericDevice; - break; - } -} - -BtDeviceItem::DeviceType BtDeviceItem::getPhoneDeviceType(const quint8 minor) const -{ - Q_UNUSED(minor); - return Phone; -} - - -DiscoveryModel::DiscoveryModel(QObject *parent) - : QAbstractListModel(parent) - ,m_discoveryAgent(new QBluetoothDeviceDiscoveryAgent(this)) -{ - m_roleNames.insert(Qt::UserRole, "modelData"); - m_roleNames.insert(Address, "address"); - m_roleNames.insert(Name, "name"); - m_roleNames.insert(Type, "type"); - m_roleNames.insert(Connected, "connected"); - - connect(m_discoveryAgent, SIGNAL(deviceDiscovered(QBluetoothDeviceInfo)), - this, SLOT(deviceDiscovered(QBluetoothDeviceInfo))); - - connect(m_discoveryAgent, SIGNAL(finished()), - this, SIGNAL(scanFinished())); - -} - -void DiscoveryModel::deviceDiscovered(const QBluetoothDeviceInfo &device) -{ - beginInsertRows(QModelIndex(), m_items.count(), m_items.count()); - BtDeviceItem *item = new BtDeviceItem(device); - m_items.append(item); - endInsertRows(); -} - -DiscoveryModel::~DiscoveryModel() -{ - -} - -void DiscoveryModel::scanDevices() -{ - m_discoveryAgent->start(); -} - -QHash<int, QByteArray> DiscoveryModel::roleNames() const -{ - return m_roleNames; -} - -int DiscoveryModel::rowCount(const QModelIndex & parent) const -{ - Q_UNUSED(parent); - return m_items.count(); -} - -QVariant DiscoveryModel::data(const QModelIndex & index, int role) const -{ - if (!index.isValid()) return QVariant(); - - BtDeviceItem *item = m_items[index.row()]; - - switch (role) { - case DiscoveryModel::Name: - return item->name(); - break; - case DiscoveryModel::Address: - return item->address(); - break; - case DiscoveryModel::Type: - return item->type(); - break; - case DiscoveryModel::Connected: - return item->connected(); - default: - return ""; - } -} - -void DiscoveryModel::setConnected(const QString &aAddress, bool connected) -{ - bool found = false; - int i = 0; - QVector<int> role; - role.append(DiscoveryModel::Connected); - foreach (BtDeviceItem *item, m_items) { - if (item->address() == aAddress) { - item->setConnected(connected); - found = true; - break; - } - i++; - } - - if (found) - emit dataChanged(index(i, 0), index(i, 0), role); -} diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/discoverymodel.h b/src/qtdevicesettings/bluetoothsettingsplugin/discoverymodel.h deleted file mode 100644 index de30c4c..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/discoverymodel.h +++ /dev/null @@ -1,130 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ -#ifndef DISCOVERYMODEL_H -#define DISCOVERYMODEL_H - - -#include <QObject> -#include <QAbstractListModel> -#include <QBluetoothDeviceInfo> -#include <QBluetoothDeviceDiscoveryAgent> - -class BtDeviceItem : public QObject -{ - Q_OBJECT - Q_ENUMS(DeviceType) - Q_PROPERTY(QString address READ address CONSTANT) - Q_PROPERTY(QString name READ name CONSTANT) - Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged) - Q_PROPERTY(DeviceType type READ type CONSTANT) -public: - explicit BtDeviceItem(const QBluetoothDeviceInfo& id, QObject *parent=0); - //The list of device type we want to show the icon - enum DeviceType { - Phone, - Computer, - Mouse, - Keyboard, - Headphones, - Microphone, - Camera, - Camcorder, - Clock, - HealthDevice, - GenericDevice=1000 - }; - QString name() const; - QString address() const; - DeviceType type() const; - bool connected() const; - void setConnected(bool aConnected); - -signals: - void connectedChanged(); - -protected: - DeviceType getDeviceType(const QBluetoothDeviceInfo::MajorDeviceClass major, - const quint8 minor) const; - DeviceType getComputerDeviceType(const quint8 minor) const; - DeviceType getAudioDeviceType(const quint8 minor) const; - DeviceType getPeripheralDeviceType(const quint8 minor) const; - DeviceType getImagingDeviceType(const quint8 minor) const; - DeviceType getHealthDeviceType(const quint8 minor) const; - DeviceType getPhoneDeviceType(const quint8 minor) const; - -private: - QString m_name; - QString m_address; - bool m_connected; - DeviceType m_type; -}; - -class DiscoveryModel : public QAbstractListModel -{ - Q_OBJECT - Q_ENUMS(DeviceType) -public: - explicit DiscoveryModel(QObject *parent=0); - virtual ~DiscoveryModel(); - // from QAbstractItemModel - int rowCount(const QModelIndex & parent = QModelIndex()) const; - QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const; - QHash<int, QByteArray> roleNames() const; - Q_INVOKABLE QVariant itemFromRow(const int row) const; - void setConnected(const QString& aAddress, bool connected); - void scanDevices(); - - enum Roles { - Name = Qt::UserRole, - Address, - Type, - Connected - }; - -signals: - void scanFinished(); - -private slots: - void deviceDiscovered(const QBluetoothDeviceInfo &device); - void canceled(); - void error(QBluetoothDeviceDiscoveryAgent::Error error); - void finished(); -private: - QList<BtDeviceItem*> m_items; - QHash<int, QByteArray> m_roleNames; - QBluetoothDeviceDiscoveryAgent *m_discoveryAgent; -}; -#endif // DISCOVERYMODEL_H diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/icons.qrc b/src/qtdevicesettings/bluetoothsettingsplugin/icons.qrc deleted file mode 100644 index a7c8d7e..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/icons.qrc +++ /dev/null @@ -1,16 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>../icons/Bluetooth_qt_1x.png</file> - <file>../icons/Camcorder_qt_1x.png</file> - <file>../icons/Camera_qt_1x.png</file> - <file>../icons/Clock_qt_1x.png</file> - <file>../icons/Headphones_qt_1x.png</file> - <file>../icons/Heartbeat_qt_1x.png</file> - <file>../icons/Keyboard_qt_1x.png</file> - <file>../icons/Laptop_qt_1x.png</file> - <file>../icons/Microphone_qt_1x.png</file> - <file>../icons/MobilePhone_qt_1x.png</file> - <file>../icons/Mouse_qt_1x.png</file> - <file>../icons/Tablet_qt_1x.png</file> - </qresource> -</RCC> diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/plugin.cpp b/src/qtdevicesettings/bluetoothsettingsplugin/plugin.cpp deleted file mode 100644 index 24e9705..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/plugin.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2015 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Device Utilities module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtQml/QQmlExtensionPlugin> -#include <QtQml/qqml.h> -#include <qcoreapplication.h> -#include <QQmlEngine> -#include <QQmlContext> - -#include "bluetoothdevice.h" -#include "discoverymodel.h" - -class BluetoothSettingsQmlPlugin : public QQmlExtensionPlugin -{ - Q_OBJECT - Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") - -public: - void registerTypes(const char *uri) - { - Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.bluetooth")); - qmlRegisterUncreatableType<BtDeviceItem>(uri, 1, 0, "BtDeviceItem", "Cannot be instantiated directly."); - const QString prefix = "qrc:"; - qmlRegisterType(QUrl(prefix + "Bluetooth.qml"), uri, 1, 0, "Bluetooth"); - qmlRegisterType(QUrl(prefix + "Discovery.qml"), uri, 1, 0, "Discovery"); - - } - - void initializeEngine(QQmlEngine * engine, const char * uri) - { - Q_ASSERT(QLatin1String(uri) == QLatin1String("com.theqtcompany.settings.bluetooth")); - BluetoothDevice *device = new BluetoothDevice(engine); - engine->rootContext()->setContextProperty("BtDevice", device); - } -}; - -#include "plugin.moc" diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/qml.qrc b/src/qtdevicesettings/bluetoothsettingsplugin/qml.qrc deleted file mode 100644 index 1d36902..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/qml.qrc +++ /dev/null @@ -1,6 +0,0 @@ -<RCC> - <qresource prefix="/"> - <file>Bluetooth.qml</file> - <file>Discovery.qml</file> - </qresource> -</RCC> diff --git a/src/qtdevicesettings/bluetoothsettingsplugin/qmldir b/src/qtdevicesettings/bluetoothsettingsplugin/qmldir deleted file mode 100644 index febebc2..0000000 --- a/src/qtdevicesettings/bluetoothsettingsplugin/qmldir +++ /dev/null @@ -1,3 +0,0 @@ -module com.theqtcompany.settings.bluetooth -Bluetooth 1.0 Bluetooth.qml -plugin btsettingsplugin |