]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Do you have the time?
authorJoão Mesquita <jmesquita@freeswitch.org>
Sat, 23 Jan 2010 18:36:25 +0000 (18:36 +0000)
committerJoão Mesquita <jmesquita@freeswitch.org>
Sat, 23 Jan 2010 18:36:25 +0000 (18:36 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16481 d0543943-73ff-0310-b7d9-9358b9ac24b2

fscomm/fshost.h
fscomm/mainwindow.cpp
fscomm/mainwindow.h

index dc543947cfd1db273b23a6e364a4eeaae76adf36..f86cedab97878180002fa56a5c4c8e604a00e10b 100644 (file)
@@ -65,6 +65,7 @@ signals:
     void delAccount(QSharedPointer<Account>);
 
 private slots:
+    /* We need to wait for the gateway deletion before reloading it */
     void accountReloadSlot(QSharedPointer<Account>);
 
 private:
index 84ab54e83a0ba75b861ea16d74bcb556af0914de..e9a0d7baf0090a1f06ed011a3888b1264f4e878e 100644 (file)
@@ -110,6 +110,11 @@ MainWindow::MainWindow(QWidget *parent) :
     /* Set other properties */
     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()
@@ -120,6 +125,17 @@ MainWindow::~MainWindow()
     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()
 {
     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);
 }
 
-/* TODO: Update the timers and the item text! */
 void MainWindow::callTableDoubleClick(QTableWidgetItem *item)
 {
     QSharedPointer<Call> lastCall = g_FSHost.getCurrentActiveCall();
@@ -314,6 +329,10 @@ void MainWindow::newOutgoingCall(QSharedPointer<Call> call)
     item1->setData(Qt::UserRole, call.data()->getUUID());
     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->resizeRowsToContents();
     ui->tableCalls->horizontalHeader()->setStretchLastSection(true);
@@ -347,6 +366,10 @@ void MainWindow::ringing(QSharedPointer<Call> call)
     item1->setData(Qt::UserRole, call.data()->getUUID());
     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->resizeRowsToContents();
     ui->tableCalls->horizontalHeader()->setStretchLastSection(true);
index 61e081cffcbbb254f92638e80182aa76d683860b..7d8c38b0f2e5c73f5f444eb1d2a70072bd587690 100644 (file)
@@ -79,12 +79,14 @@ private slots:
     void accountDel(QSharedPointer<Account>);
     void accountStateChanged(QSharedPointer<Account>);
     void sysTrayActivated(QSystemTrayIcon::ActivationReason reason);
+    void updateCallTimers();
 
 private:
     Ui::MainWindow *ui;
     QSignalMapper *dialpadMapper;
     PrefDialog *preferences;
     QSystemTrayIcon *sysTray;
+    QTimer *callTimer;
 };
 
 #endif // MAINWINDOW_H