aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolas Bertrand <nicolas.bertrand@linux.intel.com>2011-03-29 17:16:36 +0200
committerDenis Kenzior <denkenz@gmail.com>2011-03-29 22:39:27 -0500
commit1e00acf7962282fbe6eebf77f01403334976d47b (patch)
tree16d700fe3ac1de911505e24682446dcb845d2c1a
parentce276b2e0ff53461839bcf809171d20a6eaec262 (diff)
downloadphonesim-1e00acf7962282fbe6eebf77f01403334976d47b.tar.gz
phonesim: Add CSSU/CSSI notification support
-rw-r--r--src/control.cpp30
-rw-r--r--src/control.h2
2 files changed, 31 insertions, 1 deletions
diff --git a/src/control.cpp b/src/control.cpp
index 279bade..645219c 100644
--- a/src/control.cpp
+++ b/src/control.cpp
@@ -87,6 +87,7 @@ ControlWidget::ControlWidget(const QString &ruleFile, Control *parent)
connect(ui->pbReset, SIGNAL(clicked()), this, SLOT(modemSilentReset()));
connect(ui->pbSendGNSSData, SIGNAL(clicked()), this, SLOT(sendGNSSData()));
connect(ui->pbGNSSDefault, SIGNAL(clicked()), this, SLOT(setDefaultGNSSData()));
+ connect(ui->pbSendNotif, SIGNAL(clicked()), this, SLOT(sendCSSN()));
QStringList headers;
headers << "Sender" << "Priority" << "Notification Status";
@@ -94,6 +95,7 @@ ControlWidget::ControlWidget(const QString &ruleFile, Control *parent)
ui->twMessageList->verticalHeader()->hide();
handleNewApp();
+ handleCSSNNotif();
show();
}
@@ -142,13 +144,39 @@ void Control::warning( const QString &title, const QString &message )
QMessageBox::warning(widget, title, message, "OK");
}
+void ControlWidget::handleCSSNNotif()
+{
+ ui->cbCSSU->insertItem(0, "");
+ ui->cbCSSU->insertItem(1, "0 - forwarded", 0);
+ ui->cbCSSU->insertItem(3, "2 - on hold", 2);
+ ui->cbCSSU->insertItem(4, "3 - retrieved", 3);
+ ui->cbCSSU->insertItem(5, "4 - multiparty", 4);
+
+ ui->cbCSSI->insertItem(0, "");
+ ui->cbCSSI->insertItem(3, "2 - forwarded", 2);
+ ui->cbCSSI->insertItem(6, "5 - outgoing barred", 5);
+ ui->cbCSSI->insertItem(7, "6 - incomming barred", 6);
+}
+
+void ControlWidget::sendCSSN()
+{
+ QVariant v = ui->cbCSSU->itemData(ui->cbCSSU->currentIndex());
+
+ if (v.canConvert<int>())
+ emit unsolicitedCommand("+CSSU: "+QString::number(v.toInt()));
+
+ v = ui->cbCSSI->itemData(ui->cbCSSI->currentIndex());
+
+ if (v.canConvert<int>())
+ emit unsolicitedCommand("+CSSI: "+QString::number(v.toInt()));
+}
+
void ControlWidget::sendSQ()
{
emit variableChanged("SQ",QString::number(ui->hsSignalQuality->value())+",99");
emit unsolicitedCommand("+CSQ: "+QString::number(ui->hsSignalQuality->value())+",99");
}
-
void ControlWidget::sendBC()
{
bool charging = ui->hsBatteryCharging->checkState() == Qt::Checked;
diff --git a/src/control.h b/src/control.h
index eac4288..c17146a 100644
--- a/src/control.h
+++ b/src/control.h
@@ -70,6 +70,7 @@ public:
void handleFromData( const QString& );
void handleToData( const QString& );
void handleNewApp();
+ void handleCSSNNotif();
private slots:
void sendSQ();
@@ -97,6 +98,7 @@ private slots:
void modemSilentReset();
void sendGNSSData();
void setDefaultGNSSData();
+ void sendCSSN();
signals:
void unsolicitedCommand(const QString &);