Fix some things on the console and start implementing the transfer.

This commit is contained in:
Joao Mesquita 2010-04-14 23:54:59 -03:00
parent 0f29f46172
commit fab8e0d5b6
5 changed files with 31 additions and 6 deletions

View File

@ -112,3 +112,9 @@ QTime Call::getCurrentStateTime()
int now = QDateTime::fromTime_t(time).secsTo(QDateTime::currentDateTime());
return QTime::fromString(QString::number(now), "s");
}
/*bool Call::transfer()
{
g_FSHost.sendCmd("uuid_bridge", "")
}*/

View File

@ -38,7 +38,8 @@ typedef enum {
FSCOMM_CALL_STATE_RINGING = 0,
FSCOMM_CALL_STATE_TRYING = 1,
FSCOMM_CALL_STATE_ANSWERED = 2,
FSCOMM_CALL_STATE_FAILED = 3
FSCOMM_CALL_STATE_FAILED = 3,
FSCOMM_CALL_STATE_TRANSFER = 4
} fscomm_call_state_t;
typedef enum {
@ -76,6 +77,8 @@ public:
void setAnsweredEpoch(qulonglong time) { _answeredEpoch = time/1000000; }
QTime getCurrentStateTime();
/*bool transfer();*/
private:
QSharedPointer<Channel> _channel; /* This should be our portaudio channel */
QSharedPointer<Channel> _otherLegChannel;

View File

@ -105,9 +105,23 @@ void ConsoleWindow::cmdSendClicked()
QString res;
g_FSHost.sendCmd(cmd.toAscii().data(), args.toAscii().data(), &res);
QStandardItem *item = new QStandardItem(res);
if (!res.isEmpty())
{
/* Remove \r\n */
QStringList textList = res.split(QRegExp("(\r+)"), QString::SkipEmptyParts);
QString final_str;
for (int line = 0; line<textList.size(); line++)
{
final_str += textList[line];
}
QStringList lines = final_str.split(QRegExp("(\n+)"), QString::SkipEmptyParts);
for (int line = 0; line < lines.size(); ++line)
{
QStandardItem *item = new QStandardItem(lines[line]);
item->setData(SWITCH_LOG_CONSOLE, ConsoleModel::LogLevelRole);
addNewConsoleItem(item);
}
}
ui->lineCmd->clear();
}

View File

@ -101,6 +101,7 @@ MainWindow::MainWindow(QWidget *parent) :
connect(ui->hangupBtn, SIGNAL(clicked()), this, SLOT(paHangup()));
connect(ui->recoredCallBtn, SIGNAL(toggled(bool)), SLOT(recordCall(bool)));
connect(ui->btnHold, SIGNAL(toggled(bool)), this, SLOT(holdCall(bool)));
/*connect(ui->btnTransfer, SIGNAL(clicked()), this, SLOT(transferCall()));*/
connect(ui->tableCalls, SIGNAL(itemDoubleClicked(QTableWidgetItem*)), this, SLOT(callTableDoubleClick(QTableWidgetItem*)));
connect(ui->action_Preferences, SIGNAL(triggered()), this, SLOT(prefTriggered()));
connect(ui->action_Exit, SIGNAL(triggered()), this, SLOT(close()));
@ -280,7 +281,7 @@ void MainWindow::callTableDoubleClick(QTableWidgetItem *item)
void MainWindow::makeCall()
{
bool ok;
bool ok = true;
QString dialstring = QInputDialog::getText(this, tr("Make new call"),
tr("Number to dial:"), QLineEdit::Normal, NULL,&ok);

View File

@ -77,6 +77,7 @@ private slots:
void callFailed(QSharedPointer<Call>);
void recordCall(bool);
void holdCall(bool);
/*void transferCall();*/
void setDefaultAccount();
void accountAdd(QSharedPointer<Account>);
void accountDel(QSharedPointer<Account>);