From a86cce9149b741187e7f1950fb0e2e7578fcfc43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Mesquita?= Date: Fri, 15 Jan 2010 04:05:17 +0000 Subject: [PATCH] If a call fails, it fails... git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16318 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- fscomm/mainwindow.cpp | 37 +++++++++++++++++++++++++++++++++++++ fscomm/mainwindow.h | 1 + 2 files changed, 38 insertions(+) diff --git a/fscomm/mainwindow.cpp b/fscomm/mainwindow.cpp index 0e96d58a9c..b0df49145a 100644 --- a/fscomm/mainwindow.cpp +++ b/fscomm/mainwindow.cpp @@ -80,6 +80,7 @@ MainWindow::MainWindow(QWidget *parent) : connect(&g_FSHost, SIGNAL(answered(QSharedPointer)), this, SLOT(answered(QSharedPointer))); connect(&g_FSHost, SIGNAL(hungup(QSharedPointer)), this, SLOT(hungup(QSharedPointer))); connect(&g_FSHost, SIGNAL(newOutgoingCall(QSharedPointer)), this, SLOT(newOutgoingCall(QSharedPointer))); + connect(&g_FSHost, SIGNAL(callFailed(QSharedPointer)), this, SLOT(callFailed(QSharedPointer))); connect(&g_FSHost, SIGNAL(gwStateChange(QString,int)), this, SLOT(gwStateChanged(QString,int))); /*connect(&g_FSHost, SIGNAL(coreLoadingError(QString)), this, SLOT(coreLoadingError(QString)));*/ @@ -286,6 +287,42 @@ void MainWindow::answered(QSharedPointer call) ui->dtmfPoundBtn->setEnabled(true); } +void MainWindow::callFailed(QSharedPointer call) +{ + for (int i=0; ilistCalls->count(); i++) + { + QListWidgetItem *item = ui->listCalls->item(i); + if (item->data(Qt::UserRole).toString() == call.data()->getUUID()) + { + delete ui->listCalls->takeItem(i); + break; + } + } + ui->textEdit->setText(tr("Call with %1 (%2) failed with reason %3.").arg(call.data()->getCidName(), + call.data()->getCidNumber(), + call.data()->getCause())); + /* TODO: Will cause problems if 2 calls are received at the same time */ + ui->answerBtn->setEnabled(false); + ui->hangupBtn->setEnabled(false); + ui->dtmf0Btn->setEnabled(false); + ui->dtmf1Btn->setEnabled(false); + ui->dtmf2Btn->setEnabled(false); + ui->dtmf3Btn->setEnabled(false); + ui->dtmf4Btn->setEnabled(false); + ui->dtmf5Btn->setEnabled(false); + ui->dtmf6Btn->setEnabled(false); + ui->dtmf7Btn->setEnabled(false); + ui->dtmf8Btn->setEnabled(false); + ui->dtmf9Btn->setEnabled(false); + ui->dtmfABtn->setEnabled(false); + ui->dtmfBBtn->setEnabled(false); + ui->dtmfCBtn->setEnabled(false); + ui->dtmfDBtn->setEnabled(false); + ui->dtmfAstBtn->setEnabled(false); + ui->dtmfPoundBtn->setEnabled(false); + +} + void MainWindow::hungup(QSharedPointer call) { for (int i=0; ilistCalls->count(); i++) diff --git a/fscomm/mainwindow.h b/fscomm/mainwindow.h index 63484a5f3f..b64c559521 100644 --- a/fscomm/mainwindow.h +++ b/fscomm/mainwindow.h @@ -72,6 +72,7 @@ private slots: void ringing(QSharedPointer); void answered(QSharedPointer); void hungup(QSharedPointer); + void callFailed(QSharedPointer); private: Ui::MainWindow *ui;