QVariant NearbyDevicesModel::data(const QModelIndex &index, int role) const
{
- /**if (role == NearbyDevicesModelRoles::name)
+
+ if(!index.isValid() || index.row() < 0)
{
- QString rowData;
- if(index.row() < devices.size())
- {
- rowData = deviceAliasMap[devices[index.row()]];
- }
- return QVariant(rowData);
+ qDebug()<<"invalid index"<<index.row();
+ return QVariant();
}
- else if (role == NearbyDevicesModelRoles::address)
- {
- QString rowData;
- if(index.row() < devices.size())
- {
- rowData = devices[index.row()];
- }
- return QVariant(rowData);
- }*/
QString roleName = roleNames()[role];
QMetaObject object = NearbyItem::staticMetaObject;
{
if(object.property(i).name() == roleName)
{
+
return object.property(i).read(devices[index.row()]);
}
}
{
beginInsertRows(QModelIndex(), devices.size()+1, devices.size()+1);
- NearbyItem* item = new NearbyItem(properties["Alias"].toString(),
- hwaddy,properties["Icon"].toString(),this);
+ NearbyItem* item = new NearbyItem(properties["Name"].toString(),
+ hwaddy,properties["Icon"].toString(),properties["LegacyPairing"].toBool(),this);
devices.append(item);
emit nearbyDeviceFound(devices.indexOf(item));
if(device->address() == hwaddy)
{
int i=devices.indexOf(device);
+ //if(i == -1) continue;
beginRemoveRows(QModelIndex(),i,i);
- devices.removeAll(device);
+ devices.removeAt(i);
emit nearbyDeviceRemoved(i);
endRemoveRows();
}
Q_PROPERTY(QString name READ name)
Q_PROPERTY(QString address READ address)
Q_PROPERTY(QString icon READ icon)
+ Q_PROPERTY(bool legacyPairing READ legacyPairing)
public:
- NearbyItem(QString name="", QString address="", QString icon="", QObject* parent = 0)
+ NearbyItem(QString name="", QString address="", QString icon="", bool legacy=false, QObject* parent = 0)
:QObject(parent)
{
m_name=name;
m_addy=address;
m_icon=icon;
+ m_legacy = legacy;
}
QString name() { return m_name; }
QString address() { return m_addy; }
QString icon() { return m_icon; }
-
+ bool legacyPairing() { return m_legacy; }
private:
QString m_name;
QString m_addy;
QString m_icon;
+ bool m_legacy;
};
class NearbyDevicesModel : public QAbstractListModel