[PATCH] Connect the jigsaw pieces for displaying cell location

Neil Jerram neil at ossau.homelinux.net
Wed Aug 29 23:08:35 CEST 2012


---
 .../telephony/callpolicymanager/cell/cellmodemmanager.cpp  |   12 ++++++++++++
 .../telephony/callpolicymanager/cell/cellmodemmanager.h    |    1 +
 2 files changed, 13 insertions(+)

diff --git a/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.cpp b/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.cpp
index 6607581..4293b66 100644
--- a/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.cpp
+++ b/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.cpp
@@ -205,6 +205,8 @@ CellModemManager::CellModemManager(QObject *parent)
                      this, SLOT(registrationStateChanged()));
     QObject::connect(d->m_netReg, SIGNAL(currentOperatorChanged()),
                      this, SLOT(currentOperatorChanged()));
+    QObject::connect(d->m_netReg, SIGNAL(locationChanged()),
+                     this, SLOT(locationChanged()));
 
     // Rename signal for QAbstractCallPolicyManager.
     QObject::connect(this, SIGNAL(registrationStateChanged(QTelephony::RegistrationState)),
@@ -340,6 +342,16 @@ void CellModemManager::registrationStateChanged()
     doAutoRegister();
 }
 
+void CellModemManager::locationChanged()
+{
+  QString cell_location;
+  QTextStream(&cell_location)
+    << d->m_netReg->locationAreaCode()
+    << "/"
+    << d->m_netReg->cellId();
+  setCellLocation(cell_location);
+}
+
 void CellModemManager::rfLevelChanged()
 {
     QPhoneRfFunctionality::Level level = d->m_rfFunc->level();
diff --git a/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.h b/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.h
index 77a6fd0..1d239d1 100644
--- a/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.h
+++ b/src/server/phone/telephony/callpolicymanager/cell/cellmodemmanager.h
@@ -108,6 +108,7 @@ private slots:
                    const QPinOptions&);
     void currentOperatorChanged();
     void registrationStateChanged();
+    void locationChanged();
     void autoRegisterTimeout();
     void planeModeChanged(bool);
     void queryCallForwarding();
-- 
1.7.10.4


--=-=-=--



More information about the community mailing list