Пример #1
0
void DevicesModel::deviceAdded(const QString& id)
{
    //Find whether the device already exists. if so, just report it as modified
    int row = rowForDeviceId(id);
    if (row>=0) {
        const QModelIndex idx = index(row, 0);
        Q_EMIT dataChanged(idx, idx);
    } else {
        DeviceDbusInterface* dev = new DeviceDbusInterface(id, this);
        if (dev->isReachable() == bool(m_displayFilter & StatusReachable) && dev->isPaired() == bool(m_displayFilter & StatusPaired)) {
            beginInsertRows(QModelIndex(), m_deviceList.count(), m_deviceList.count());
            appendDevice(dev);
            endInsertRows();
        }
    }
}
Пример #2
0
void DevicesModel::deviceAdded(const QString& id)
{
    if (rowForDevice(id) >= 0) {
        Q_ASSERT_X(false, "deviceAdded", "Trying to add a device twice");
        return;
    }

    DeviceDbusInterface* dev = new DeviceDbusInterface(id, this);
    Q_ASSERT(dev->isValid());

    if (! passesFilter(dev)) {
        delete dev;
        return;
    }

    beginInsertRows(QModelIndex(), m_deviceList.size(), m_deviceList.size());
    appendDevice(dev);
    endInsertRows();
}
Пример #3
0
void DevicesModel::receivedDeviceList(QDBusPendingCallWatcher* watcher)
{
    watcher->deleteLater();
    clearDevices();
    QDBusPendingReply<QStringList> pendingDeviceIds = *watcher;
    if (pendingDeviceIds.isError()) {
        qCWarning(KDECONNECT_INTERFACES) << "error while refreshing device list" << pendingDeviceIds.error().message();
        return;
    }

    Q_ASSERT(m_deviceList.isEmpty());
    const QStringList deviceIds = pendingDeviceIds.value();

    if (deviceIds.isEmpty())
        return;

    beginInsertRows(QModelIndex(), 0, deviceIds.count()-1);
    Q_FOREACH(const QString& id, deviceIds) {
        appendDevice(new DeviceDbusInterface(id, this));
    }