提交 fab8e0d5 authored 作者: Joao Mesquita's avatar Joao Mesquita

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

上级 0f29f461
......@@ -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", "")
}*/
......@@ -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;
......
......@@ -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();
}
......
......@@ -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);
......
......@@ -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>);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论