Revision
16106
Author
jmesquita
Date
2009-12-31 13:00:00 -0600 (Thu, 31 Dec 2009)

Log Message

We can now make calls too.

Modified Paths

Diff

Modified: freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.cpp (16105 => 16106)


--- freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.cpp	2009-12-31 18:30:42 UTC (rev 16105)
+++ freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.cpp	2009-12-31 19:00:00 UTC (rev 16106)
@@ -10,6 +10,7 @@
     connect(&g_FSHost, SIGNAL(ready()),this, SLOT(fshostReady()));
     connect(&g_FSHost, SIGNAL(ringing(QString,QString,QString)), this, SLOT(ringing(QString,QString,QString)));
     connect(ui->answerBtn, SIGNAL(clicked()), this, SLOT(paAnswer()));
+    connect(ui->callBtn, SIGNAL(clicked()), this, SLOT(paCall()));
     connect(ui->hangupBtn, SIGNAL(clicked()), this, SLOT(paHangup()));
     connect(ui->paDevlistBtn, SIGNAL(clicked()), this, SLOT(paDevlist()));
 
@@ -26,9 +27,11 @@
 
 void MainWindow::fshostReady()
 {
-    ui->statusBar->showMessage("FreeSWITCH is ready!", 0);
+    ui->statusBar->showMessage("Ready", 0);
     ui->paDevlistBtn->setEnabled(true);
     ui->textEdit->setEnabled(true);
+    ui->callBtn->setEnabled(true);
+    ui->textEdit->setText("Click to dial number...");
 }
 
 void MainWindow::paDevlist()
@@ -48,11 +51,26 @@
         ui->textEdit->setText("Error sending that command");
     }
 
+    ui->textEdit->setReadOnly(true);
     ui->textEdit->setText("Talking...");
     ui->hangupBtn->setEnabled(true);
     ui->answerBtn->setEnabled(false);
+    ui->callBtn->setEnabled(false);
 }
 
+void MainWindow::paCall()
+{
+    QString result;
+
+    QString callstring = QString("call %1").arg(ui->textEdit->toPlainText());
+
+    if (g_FSHost.sendCmd("pa", callstring.toAscii(), &result) == SWITCH_STATUS_FALSE) {
+        ui->textEdit->setText("Error sending that command");
+    }
+
+    ui->hangupBtn->setEnabled(true);
+}
+
 void MainWindow::paHangup()
 {
     QString result;
@@ -60,8 +78,11 @@
         ui->textEdit->setText("Error sending that command");
     }
 
-    ui->textEdit->setText("Hungup ...");
+    ui->textEdit->setText("Click to dial number...");
+    ui->statusBar->showMessage("Call hungup", 10);
     ui->hangupBtn->setEnabled(false);
+    ui->textEdit->setReadOnly(false);
+    ui->callBtn->setEnabled(true);
 }
 
 void MainWindow::ringing(QString uuid, QString caller_id_number, QString caller_id_name)

Modified: freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.h (16105 => 16106)


--- freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.h	2009-12-31 18:30:42 UTC (rev 16105)
+++ freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.h	2009-12-31 19:00:00 UTC (rev 16106)
@@ -54,6 +54,7 @@
     void fshostReady();
     void paDevlist();
     void paAnswer();
+    void paCall();
     void paHangup();
     void ringing(QString, QString, QString);
 

Modified: freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.ui (16105 => 16106)


--- freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.ui	2009-12-31 18:30:42 UTC (rev 16105)
+++ freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.ui	2009-12-31 19:00:00 UTC (rev 16106)
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>287</width>
-    <height>304</height>
+    <height>471</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -20,9 +20,22 @@
       <property name="enabled">
        <bool>false</bool>
       </property>
+      <property name="readOnly">
+       <bool>false</bool>
+      </property>
      </widget>
     </item>
     <item>
+     <widget class="QPushButton" name="callBtn">
+      <property name="enabled">
+       <bool>false</bool>
+      </property>
+      <property name="text">
+       <string>Call</string>
+      </property>
+     </widget>
+    </item>
+    <item>
      <layout class="QHBoxLayout" name="horizontalLayout">
       <item>
        <widget class="QPushButton" name="answerBtn">
@@ -56,6 +69,110 @@
       </item>
      </layout>
     </item>
+    <item>
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="0">
+       <widget class="QPushButton" name="dtmf1Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>1</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QPushButton" name="dtmf2Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>2</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <widget class="QPushButton" name="dtmf3Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>3</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="0">
+       <widget class="QPushButton" name="dtmf4Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>4</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="1">
+       <widget class="QPushButton" name="dtmf5Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>5</string>
+        </property>
+       </widget>
+      </item>
+      <item row="1" column="2">
+       <widget class="QPushButton" name="dtmf6Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>6</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0">
+       <widget class="QPushButton" name="dtmf7Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>7</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="1">
+       <widget class="QPushButton" name="dtmf8Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>8</string>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="2">
+       <widget class="QPushButton" name="dtmf9Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>9</string>
+        </property>
+       </widget>
+      </item>
+      <item row="3" column="1">
+       <widget class="QPushButton" name="dtmf0Btn">
+        <property name="enabled">
+         <bool>false</bool>
+        </property>
+        <property name="text">
+         <string>0</string>
+        </property>
+       </widget>
+      </item>
+     </layout>
+    </item>
    </layout>
   </widget>
   <widget class="QMenuBar" name="menuBar">