From d051df78b184f06b137d0d523045ad920fbb5d7b Mon Sep 17 00:00:00 2001 From: Ioannis Christoforidis Date: Wed, 4 Dec 2019 19:51:34 +0100 Subject: make Network List refreshable; also add Link Speed of Device and generate warnings if under Gbit --- src/speedcheck.cpp | 38 +++++++++++++++----- src/speedcheck.h | 4 ++- src/ui/speedcheck.ui | 100 +++++++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 127 insertions(+), 15 deletions(-) diff --git a/src/speedcheck.cpp b/src/speedcheck.cpp index fae4b88..f4c7985 100644 --- a/src/speedcheck.cpp +++ b/src/speedcheck.cpp @@ -19,20 +19,16 @@ SpeedCheck::SpeedCheck(QString fileName) _fileName(fileName) { _ui->setupUi(this); - QList interfaces = QNetworkInterface::allInterfaces(); - foreach (QNetworkInterface iface, interfaces) { - if ((iface.flags().testFlag(QNetworkInterface::IsUp)) && !iface.flags().testFlag(QNetworkInterface::IsLoopBack)) { - _ui->comboBox->addItem(iface.name()); - } - } - connect(_ui->btnStart, SIGNAL(clicked(bool)), this, SLOT(startClicked(bool))); connect(_ui->btnQuit, SIGNAL(clicked(bool)), this, SLOT(quitClicked(bool))); connect(_ui->btnselect, SIGNAL(clicked(bool)), this, SLOT(selectClicked(bool))); + connect(_ui->btnrefreshNetwork, SIGNAL(clicked(bool)), this, SLOT(networkrefreshClicked(bool))); + connect(_ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateNetworkInfos(int))); _ui->filelabel->setText("Selected File: " + _fileName); _timer.setInterval(200); connect(&_timer, SIGNAL(timeout()), this, SLOT(updateTimer())); qsrand((uint)QCoreApplication::applicationPid()); + networkrefreshClicked(true); } SpeedCheck::~SpeedCheck() @@ -93,7 +89,33 @@ void SpeedCheck::testFinished() _ui->btnselect->setEnabled(true); _ui->comboBox->setEnabled(true); } - +void SpeedCheck::networkrefreshClicked(bool) +{ + while (_ui->comboBox->count() > 0) { + _ui->comboBox->removeItem(0); + } + QList interfaces = QNetworkInterface::allInterfaces(); + foreach (QNetworkInterface iface, interfaces) { + if ((iface.flags().testFlag(QNetworkInterface::IsUp)) && !iface.flags().testFlag(QNetworkInterface::IsLoopBack)) { + _ui->comboBox->addItem(iface.name()); + } + } +} +void SpeedCheck::updateNetworkInfos(int) { + QString path = "/sys/class/net/" + _ui->comboBox->currentText(); + QFile file(path + "/speed"); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return; + QByteArray speed = file.readLine(); + // Remove new line at End of the line + speed.remove(speed.length() - 1, 1); + if (speed.toInt() < 1000) { + QMessageBox::warning(NULL, "Warning","Link Speed Slow"); + _ui->networkSpeed->setStyleSheet("QLabel {color:orange;}"); + _ui->networkSpeed->setToolTip("Networkspeed slow!"); + } + _ui->networkSpeed->setText(speed + " MB/s"); +} void SpeedCheck::updateTimer() { _ui->picCpu->readNextValue(); diff --git a/src/speedcheck.h b/src/speedcheck.h index 5d885da..1056b0a 100644 --- a/src/speedcheck.h +++ b/src/speedcheck.h @@ -22,7 +22,9 @@ private slots: void logMessage(QString message); void startClicked(bool); void selectClicked(bool); - void quitClicked(bool); + void quitClicked(bool); + void networkrefreshClicked(bool); + void updateNetworkInfos(int); void testFinished(); void updateTimer(); diff --git a/src/ui/speedcheck.ui b/src/ui/speedcheck.ui index 2188b31..4c04e69 100644 --- a/src/ui/speedcheck.ui +++ b/src/ui/speedcheck.ui @@ -6,7 +6,7 @@ 0 0 - 800 + 768 600 @@ -29,13 +29,101 @@ - - - false + + + true - - + + + 0 + 0 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 10 + 10 + 100 + 27 + + + + + 0 + 0 + + + + + 100 + 0 + + + + false + + + + + + + + + 120 + 10 + 150 + 27 + + + + + 0 + 0 + + + + Refresh Interfaces + + + + + + 10 + 50 + 81 + 19 + + + + Link Speed: + + + + + + 100 + 50 + 151 + 19 + + + + <html><head/><body><p>test</p></body></html> + + + <html><head/><body><p>test1</p><p><br/></p></body></html> + + + MB + + -- cgit v1.2.3-55-g7522