hfdialer now automatically connects to your phone. It will reconnect if
authorBrian Jones <brian.j.jones@intel.com>
Tue, 10 Apr 2012 17:24:50 +0000 (10:24 -0700)
committerBrian Jones <brian.j.jones@intel.com>
Tue, 10 Apr 2012 17:24:50 +0000 (10:24 -0700)
connection is lost, including rebooting the computer.

qml/DialPage.qml
src/managerproxy.cpp
src/qmldialer.cpp
src/qmldialer.h

index 8579d16..ba0d0c6 100644 (file)
@@ -30,6 +30,18 @@ Item
             dialPage.state = 'noCall'
     }
 
+    Connections {
+        target: adapter
+        onModemOnlineChanged: {
+            console.log("BJONES POWERED HAS CHANGED!")
+            if (!adapter.modemOnline)
+            {
+                console.log("BJONES MODEM NOW POWERED DOWN TRYING TO RECONNECT")
+                adapter.modemOnline = true
+            }
+         }
+    }
+
     Image
     {
         id: dialPage
@@ -198,6 +210,15 @@ Item
                     spacing: 2
                     Repeater {
                         model: btDevicesModel
+
+                        Component.onCompleted: {
+                            if (!adapter.modemOnline)
+                            {
+                                console.log("BJONES previously created modem is not powered! Try and re-connect")
+                                adapter.modemOnline = true
+                            }
+                        }
+
                         delegate: DeviceDelegateActive {
 
                             deviceName: model.name
index 2f2cbed..e89ec3c 100644 (file)
@@ -53,6 +53,9 @@ ManagerProxy::ManagerProxy(const QString &service,
     }
 
     gManager = this;
+
+    if (m_modem && m_modem->isValid() && !m_modem->powered())
+       m_modem->setPowered(true);
 }
 
 ManagerProxy::~ManagerProxy()
@@ -185,7 +188,14 @@ void ManagerProxy::setModem(QString modemPath)
     if (m_modem &&
         m_modem->isValid() &&
         m_modem->path() == modemPath)
+    {
+       if (!m_modem->powered())
+               m_modem->setPowered(true);
+
+       qDebug()<<"BJONES setting modem, but we already have it! If not powered, power that thing!";
+
         return;
+    }
 
     if (m_modem)
         {
index c04f99d..91a116e 100644 (file)
@@ -254,6 +254,11 @@ void QMLDialer::connectAll()
             disconnect(cm, SIGNAL(incomingCall(CallItem*)));
             connect(cm, SIGNAL(callsChanged()), this, SLOT(onCallsChanged()));
             connect(cm, SIGNAL(incomingCall(CallItem*)), SLOT(onIncomingCall(CallItem*)));
+           
+           if (ManagerProxy::instance()->modem() && ManagerProxy::instance()->modem()->isValid())
+           {   
+               connect(ManagerProxy::instance()->modem(), SIGNAL(poweredChanged(bool)), this, SIGNAL(modemOnlineChanged(bool)));
+           }
             qDebug() << QString("CallMgr is connected");
         }
     else if (cm)
index 8e059b2..ea02204 100644 (file)
@@ -21,7 +21,7 @@ class QMLDialer : public QObject
 
     Q_PROPERTY(QString mailbox READ mailbox WRITE setMailbox);
     Q_PROPERTY(QMLCallItem* currentCall READ currentCall);
-    Q_PROPERTY(bool modemOnline READ modemOnline WRITE setModemOnline);
+    Q_PROPERTY(bool modemOnline READ modemOnline WRITE setModemOnline NOTIFY modemOnlineChanged);
     Q_PROPERTY(int callCount READ callCount NOTIFY callCountChanged);
 
 public:
@@ -37,6 +37,7 @@ Q_SIGNALS:
     void incomingCall();
     void outgoingCall();
     void callCountChanged(int callCount); 
+    void modemOnlineChanged(bool powered);
 
 public Q_SLOTS:
     void setMailbox(const QString &number);