Do you have the time?

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16481 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
João Mesquita 2010-01-23 18:36:25 +00:00
parent 8f7a3e43dc
commit 19143d9107
3 changed files with 27 additions and 1 deletions

View File

@ -65,6 +65,7 @@ signals:
void delAccount(QSharedPointer<Account>); void delAccount(QSharedPointer<Account>);
private slots: private slots:
/* We need to wait for the gateway deletion before reloading it */
void accountReloadSlot(QSharedPointer<Account>); void accountReloadSlot(QSharedPointer<Account>);
private: private:

View File

@ -110,6 +110,11 @@ MainWindow::MainWindow(QWidget *parent) :
/* Set other properties */ /* Set other properties */
ui->tableAccounts->horizontalHeader()->setStretchLastSection(true); ui->tableAccounts->horizontalHeader()->setStretchLastSection(true);
/* Set the call timer */
callTimer = new QTimer(this);
callTimer->setInterval(1000);
connect(callTimer, SIGNAL(timeout()), this, SLOT(updateCallTimers()));
callTimer->start();
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()
@ -120,6 +125,17 @@ MainWindow::~MainWindow()
g_FSHost.wait(); g_FSHost.wait();
} }
void MainWindow::updateCallTimers()
{
for(int row=0; row<ui->tableCalls->rowCount(); row++)
{
QTableWidgetItem* item = ui->tableCalls->item(row, 2);
QTime time = QTime::fromString(item->text(),"hh:mm:ss");
time = time.addSecs(1);
item->setText(time.toString("hh:mm:ss"));
}
}
void MainWindow::setDefaultAccount() void MainWindow::setDefaultAccount()
{ {
QString accName = ui->tableAccounts->item(ui->tableAccounts->selectedRanges()[0].topRow(), 0)->text(); QString accName = ui->tableAccounts->item(ui->tableAccounts->selectedRanges()[0].topRow(), 0)->text();
@ -199,7 +215,6 @@ void MainWindow::sendDTMF(QString dtmf)
g_FSHost.getCurrentActiveCall().data()->sendDTMF(dtmf); g_FSHost.getCurrentActiveCall().data()->sendDTMF(dtmf);
} }
/* TODO: Update the timers and the item text! */
void MainWindow::callTableDoubleClick(QTableWidgetItem *item) void MainWindow::callTableDoubleClick(QTableWidgetItem *item)
{ {
QSharedPointer<Call> lastCall = g_FSHost.getCurrentActiveCall(); QSharedPointer<Call> lastCall = g_FSHost.getCurrentActiveCall();
@ -314,6 +329,10 @@ void MainWindow::newOutgoingCall(QSharedPointer<Call> call)
item1->setData(Qt::UserRole, call.data()->getUUID()); item1->setData(Qt::UserRole, call.data()->getUUID());
ui->tableCalls->setItem(ui->tableCalls->rowCount()-1,1,item1); ui->tableCalls->setItem(ui->tableCalls->rowCount()-1,1,item1);
QTableWidgetItem *item2 = new QTableWidgetItem("00:00:00");
item2->setData(Qt::UserRole, call.data()->getUUID());
ui->tableCalls->setItem(ui->tableCalls->rowCount()-1,2,item2);
ui->tableCalls->resizeColumnsToContents(); ui->tableCalls->resizeColumnsToContents();
ui->tableCalls->resizeRowsToContents(); ui->tableCalls->resizeRowsToContents();
ui->tableCalls->horizontalHeader()->setStretchLastSection(true); ui->tableCalls->horizontalHeader()->setStretchLastSection(true);
@ -347,6 +366,10 @@ void MainWindow::ringing(QSharedPointer<Call> call)
item1->setData(Qt::UserRole, call.data()->getUUID()); item1->setData(Qt::UserRole, call.data()->getUUID());
ui->tableCalls->setItem(ui->tableCalls->rowCount()-1,1,item1); ui->tableCalls->setItem(ui->tableCalls->rowCount()-1,1,item1);
QTableWidgetItem *item2 = new QTableWidgetItem("00:00:00");
item2->setData(Qt::UserRole, call.data()->getUUID());
ui->tableCalls->setItem(ui->tableCalls->rowCount()-1,2,item2);
ui->tableCalls->resizeColumnsToContents(); ui->tableCalls->resizeColumnsToContents();
ui->tableCalls->resizeRowsToContents(); ui->tableCalls->resizeRowsToContents();
ui->tableCalls->horizontalHeader()->setStretchLastSection(true); ui->tableCalls->horizontalHeader()->setStretchLastSection(true);

View File

@ -79,12 +79,14 @@ private slots:
void accountDel(QSharedPointer<Account>); void accountDel(QSharedPointer<Account>);
void accountStateChanged(QSharedPointer<Account>); void accountStateChanged(QSharedPointer<Account>);
void sysTrayActivated(QSystemTrayIcon::ActivationReason reason); void sysTrayActivated(QSystemTrayIcon::ActivationReason reason);
void updateCallTimers();
private: private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
QSignalMapper *dialpadMapper; QSignalMapper *dialpadMapper;
PrefDialog *preferences; PrefDialog *preferences;
QSystemTrayIcon *sysTray; QSystemTrayIcon *sysTray;
QTimer *callTimer;
}; };
#endif // MAINWINDOW_H #endif // MAINWINDOW_H