update name and alias on device create signal
authorKevron Rees <kevron_m_rees@linux.intel.com>
Fri, 3 Jun 2011 20:39:11 +0000 (13:39 -0700)
committerKevron Rees <kevron_m_rees@linux.intel.com>
Fri, 3 Jun 2011 20:39:11 +0000 (13:39 -0700)
bluetooth-qt/nearbydevicesmodel.cpp
bluetooth-qt/nearbydevicesmodel.h

index 17d14f2..455c78c 100644 (file)
@@ -121,24 +121,25 @@ void NearbyDevicesModel::deviceCreated(QString hwaddy, QVariantMap properties)
        {
                if(path->address() == hwaddy)
                {
-                       found=true;
-                       break;
+                       path->setName(properties["Name"].toString());
+                       path->setAlias(properties["Alias"].toString());
+                       path->setIcon(properties["Icon"].toString());
+                       return;
                }
        }
 
-       if(!found)
-       {
-               beginInsertRows(QModelIndex(), devices.size(), devices.size());
+       beginInsertRows(QModelIndex(), devices.size(), devices.size());
 
-               NearbyItem* item = new NearbyItem(properties["Name"].toString(),
-                              hwaddy,properties["Icon"].toString(),properties["LegacyPairing"].toBool(),this);
+       NearbyItem* item = new NearbyItem(properties["Name"].toString(),
+                                                                         hwaddy,properties["Icon"].toString(),
+                                                                         properties["LegacyPairing"].toBool(),this);
 
-               item->setAlias(properties["Alias"].toString());
+       item->setAlias(properties["Alias"].toString());
+
+       devices.append(item);
+       emit nearbyDeviceFound(devices.indexOf(item));
+       endInsertRows();
 
-               devices.append(item);
-               emit nearbyDeviceFound(devices.indexOf(item));
-               endInsertRows();
-       }
 }
 
 void NearbyDevicesModel::deviceRemoved(QString hwaddy)
index 3ab9279..7de241b 100644 (file)
@@ -23,10 +23,10 @@ namespace NearbyDevicesModelRoles
 class NearbyItem: public QObject
 {
        Q_OBJECT
-       Q_PROPERTY(QString name READ name)
-       Q_PROPERTY(QString alias READ alias)
+       Q_PROPERTY(QString name READ name NOTIFY nameChanged)
+       Q_PROPERTY(QString alias READ alias NOTIFY aliasChanged)
        Q_PROPERTY(QString address READ address)
-       Q_PROPERTY(QString icon READ icon)
+       Q_PROPERTY(QString icon READ icon NOTIFY iconChanged)
        Q_PROPERTY(bool legacyPairing READ legacyPairing)
 public:
        NearbyItem(QString name="", QString address="", QString icon="", bool legacy=false, QObject* parent = 0)
@@ -44,7 +44,14 @@ public:
        QString icon() { return m_icon; }
        bool legacyPairing() { return m_legacy; }
 
-       void setAlias(QString a) { m_alias = a; }
+       void setName(QString n) { m_name = n; nameChanged(); }
+       void setIcon(QString i) { m_icon = i; iconChanged(); }
+       void setAlias(QString a) { m_alias = a; aliasChanged(); }
+
+signals:
+       void nameChanged();
+       void aliasChanged();
+       void iconChanged();
 
 private:
        QString m_name;