Modified: freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.cpp (16112 => 16113)
--- freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.cpp 2010-01-01 19:35:56 UTC (rev 16112)
+++ freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.cpp 2010-01-01 20:00:18 UTC (rev 16113)
@@ -11,6 +11,7 @@
connect(&g_FSHost, SIGNAL(ringing(Call *)), this, SLOT(ringing(Call *)));
connect(ui->answerBtn, SIGNAL(clicked()), this, SLOT(paAnswer()));
connect(ui->hangupBtn, SIGNAL(clicked()), this, SLOT(paHangup()));
+ connect(ui->listCalls, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(callListDoubleClick(QListWidgetItem*)));
g_FSHost.start();
}
@@ -23,6 +24,18 @@
g_FSHost.wait();
}
+void MainWindow::callListDoubleClick(QListWidgetItem *item)
+{
+ Call *call = _lines.value(item->data(Qt::UserRole).toString());
+ QString switch_str = QString("switch %1").arg(call->getCallID());
+ QString result;
+ if (g_FSHost.sendCmd("pa", switch_str.toAscii(), &result) == SWITCH_STATUS_FALSE) {
+ ui->textEdit->setText(QString("Error switching to call %1").arg(call->getCallID()));
+ return;
+ }
+ ui->hangupBtn->setEnabled(true);
+}
+
void MainWindow::fshostReady()
{
ui->statusBar->showMessage("Ready", 0);
@@ -75,7 +88,10 @@
}
else
{
+ _lines.insert(call->getUUID(), call);
ui->textEdit->setText(QString("Number: %1\nName: %3").arg(call->getCidNumber(), call->getCidName()));
+ QListWidgetItem *item = new QListWidgetItem(tr("%1 - %2 (Ringing)").arg(call->getCidName(), call->getCidNumber()), ui->listCalls);
+ item->setData(Qt::UserRole, call->getUUID());
}
ui->answerBtn->setEnabled(true);
}
Modified: freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.h (16112 => 16113)
--- freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.h 2010-01-01 19:35:56 UTC (rev 16112)
+++ freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.h 2010-01-01 20:00:18 UTC (rev 16113)
@@ -34,7 +34,7 @@
#define MAINWINDOW_H
#include <QMainWindow>
-#include <QPushButton>
+#include <QListWidgetItem>
#include <switch.h>
#include <fshost.h>
#include <call.h>
@@ -53,6 +53,7 @@
void changeEvent(QEvent *e);
private slots:
+ void callListDoubleClick(QListWidgetItem *);
void fshostReady();
void paAnswer();
void paCall();
Modified: freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.ui (16112 => 16113)
--- freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.ui 2010-01-01 19:35:56 UTC (rev 16112)
+++ freeswitch/trunk/contrib/jmesquita/FSPhone/mainwindow.ui 2010-01-01 20:00:18 UTC (rev 16113)
@@ -6,151 +6,205 @@
<rect>
<x>0</x>
<y>0</y>
- <width>287</width>
- <height>438</height>
+ <width>805</width>
+ <height>500</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
- <widget class="QTextEdit" name="textEdit">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="readOnly">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="0" column="0">
- <widget class="QPushButton" name="answerBtn">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <widget class="QTextEdit" name="textEdit">
<property name="enabled">
<bool>false</bool>
</property>
- <property name="text">
- <string>Answer</string>
+ <property name="readOnly">
+ <bool>true</bool>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QPushButton" name="hangupBtn">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <property name="text">
- <string>Hangup</string>
- </property>
- </widget>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QPushButton" name="newCallBtn">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>New Call</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</item>
+ <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="answerBtn">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Answer</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="hangupBtn">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>Hangup</string>
+ </property>
+ </widget>
+ </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="0">
+ <widget class="QPushButton" name="dtmfAstBtn">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>*</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>
+ <item row="3" column="2">
+ <widget class="QPushButton" name="dtmfPoundBtn">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="text">
+ <string>#</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </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>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Active Calls</string>
</property>
- <property name="text">
- <string>1</string>
- </property>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QListWidget" name="listCalls"/>
+ </item>
+ </layout>
</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>
@@ -160,7 +214,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>287</width>
+ <width>805</width>
<height>24</height>
</rect>
</property>