This commit is contained in:
shuibing811
2025-02-11 17:32:11 +08:00
parent d46b5821b0
commit 69d8038f9b
2 changed files with 63 additions and 1 deletions

View File

@@ -56,6 +56,27 @@ void MainWindow::keyPressEvent(QKeyEvent* event){
}
}
void MainWindow::StartupTalkingTimer(){
if(m_timer){
m_timer->stop();
}else{
m_timer = std::make_shared<QTimer>();
QObject::connect(&*m_timer, &QTimer::timeout, [this]() {
m_callDuration += 1;
QTime t(0,0,0);
t = t.addSecs(m_callDuration);
ui->lblCallDuration->setText(t.toString("hh:mm:ss"));
});
}
m_callDuration = 0;
m_timer->start(1000);
}
void MainWindow::ShutdownTalkingTimer(){
if(m_timer){
m_timer->stop();
}
}
void MainWindow::readPendingDatagrams(){
while (m_udpServerSocket->hasPendingDatagrams()) {
QByteArray datagram;
@@ -70,11 +91,37 @@ void MainWindow::readPendingDatagrams(){
//TODO:处理数据包
//qDebug() << "Received datagram from" << sender.toString() << ":" << senderPort;
//qDebug() << "Data:" << datagram;
//有来电
ui->cmbCallNumber->setEnabled(false);
ui->btnCallAnswer->show();
ui->btnCallReject->show();
ui->lblCallStatus->setText("来电中...");
ui->lblCallDuration->hide();
//通话中
ui->cmbCallNumber->setEnabled(false);
ui->btnCallAnswer->hide();
ui->btnCallReject->show();
ui->lblCallStatus->setText("通话中...");
ui->lblCallDuration->show();
StartupTalkingTimer();
//挂断电话
ui->cmbCallNumber->setEnabled(true);
ui->btnCallAnswer->show();
ui->btnCallReject->hide();
ui->lblCallStatus->setText("空闲中...");
ui->lblCallDuration->hide();
ShutdownTalkingTimer();
//拨号中
ui->cmbCallNumber->setEnabled(false);
ui->btnCallAnswer->hide();
ui->btnCallReject->show();
ui->lblCallStatus->setText("拨号中...");
ui->lblCallDuration->hide();
}
}
void MainWindow::test() {
// 随机生成信号能量数据
setSignalStrengthValues(
QStringList{"1号星", "2号星", "3号星", "4号星", "5号星", "6号星"},
@@ -127,6 +174,14 @@ void MainWindow::test() {
m_logger->info("{}---{}---{}",1,"22",30);
//通话中
// ui->cmbCallNumber->setEnabled(false);
// ui->btnCallAnswer->hide();
// ui->btnCallReject->show();
// ui->lblCallStatus->setText("通话中...");
// ui->lblCallDuration->show();
// StartupTalkingTimer();
}
//--------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------

View File

@@ -5,6 +5,7 @@
#include <QMainWindow>
#include <memory>
#include <vector>
#include <QTimer>
#include "RecordQuery.h"
#include "LoggerWidget.h"
@@ -79,6 +80,8 @@ private:
bool rejectCall();
bool sendShortMessage(const QString &number,const QString& message);
void StartupTalkingTimer();
void ShutdownTalkingTimer();
void test();
private:
Ui::MainWindow *ui;
@@ -95,5 +98,9 @@ private:
std::shared_ptr<spdlog::logger> m_logger;
std::vector<Record> m_msgList;
std::shared_ptr<QTimer> m_timer;
int m_callDuration = 0;
};
#endif // MAINWINDOW_H