Added code to properly power up the modem once it's paired. Also adding
authorBrian Jones <brian.j.jones@intel.com>
Tue, 3 Apr 2012 23:28:32 +0000 (16:28 -0700)
committerBrian Jones <brian.j.jones@intel.com>
Tue, 3 Apr 2012 23:28:32 +0000 (16:28 -0700)
the ability to connect a modem by clicking / touching the item in the "Your Devices" list.

qml/DeviceDelegateActive.qml
src/dialerapplication.cpp
src/managerproxy.cpp
src/modemproxy.cpp
src/qmldialer.cpp

index 8a3aca1..84f30f1 100644 (file)
@@ -21,6 +21,7 @@ Item {
     width: parent.width
     signal clicked()
     signal close()
+
     Image {
         id: availableBluetoothItem
 
@@ -28,6 +29,23 @@ Item {
         
         anchors {fill: parent; leftMargin: 8; rightMargin: 8; topMargin: 8}
 
+       MouseArea {
+          id: clickArea
+          anchors.fill: parent
+
+           onPressed: {
+                availableBluetoothItem.source = "/usr/share/hfdialer/images/ivi_btn-list.png"            
+            }
+
+            onReleased: {
+                availableBluetoothItem.source = "/usr/share/hfdialer/images/ivi_btn-list-inactive.png"      
+            }
+
+            onClicked: {
+                adapter.modemOnline = true
+            }
+        }
+
         Text {
             id: mainText
 
index 441ed81..dd4fd89 100644 (file)
@@ -223,6 +223,8 @@ void DialerApplication::modemConnected()
     {
         m_modem = m_manager->modem();
 
+        m_modem->setPowered(true);
+       
         qDebug() << QString("Modem connected");
         connect(m_modem, SIGNAL(interfacesChanged(QStringList)), this,
                            SLOT(modemInterfacesChanged(QStringList)));
index 521b84e..ef79b1f 100644 (file)
@@ -126,6 +126,8 @@ void ManagerProxy::modemAdded(const QDBusObjectPath &in0,const QVariantMap &in1)
     qDebug() << QString("modem added: %1").arg(in0.path());
     m_modemList << QString(in0.path());
     m_modemList.removeDuplicates();
+
+    setModem(in0.path());
 }
 
 void ManagerProxy::modemRemoved(const QDBusObjectPath &in0)
@@ -187,7 +189,11 @@ void ManagerProxy::setModem(QString modemPath)
 
     if (m_modem)
     {
-        delete m_modem;
+        if (m_modemList.contains(m_modem->path()))
+       {
+         m_modemList.removeAll(m_modem->path());
+       }
+       delete m_modem;
         m_modem = NULL;
     }
 
index 3199018..88672fa 100644 (file)
@@ -58,8 +58,11 @@ TRACE
     if (m_powered == is_powered)
         return;
 
+    QVariant powered(is_powered);
+
     QDBusPendingReply<QVariantMap> reply;
-    reply = SetProperty("Powered", QDBusVariant(is_powered?true:false));
+    reply = SetProperty("Powered", QDBusVariant(powered));
+
     if (reply.isError())
         qCritical() << "SetProperty \"Powered\" failed!";
 }
index 4b97ec9..28ac2dc 100644 (file)
@@ -85,11 +85,14 @@ void QMLDialer::setMailbox(const QString &number)
 
 void QMLDialer::setModemOnline(bool online)
 {
+  if (ManagerProxy::instance() && ManagerProxy::instance()->modem())
+  {
     if(ManagerProxy::instance()->modem()->isValid())
     {
         ManagerProxy::instance()->modem()->setPowered(online);
         return;
     }
+  }
 }
 
 QString QMLDialer::speedDial(int index) const