From 5928dc3da65b70ea16fc93489bef0d130c9e8b1f Mon Sep 17 00:00:00 2001 From: "loh.tar" Date: Sun, 24 Mar 2024 20:15:46 +0100 Subject: [PATCH] Use new fancy stars also on Status page --- src/helper.cpp | 37 +++++++ src/helper.h | 24 ++--- src/wpa_gui.pro | 1 + src/wpagui.cpp | 25 ++--- src/wpagui.ui | 253 +++++++++++++++++++++--------------------------- 5 files changed, 168 insertions(+), 172 deletions(-) create mode 100644 src/helper.cpp diff --git a/src/helper.cpp b/src/helper.cpp new file mode 100644 index 0000000..fbc75b7 --- /dev/null +++ b/src/helper.cpp @@ -0,0 +1,37 @@ +/* + * wpaCute - A graphical wpa_supplicant front end + * Copyright (C) 2018, 2022, 2024 loh.tar@googlemail.com + * + * Collection of Helper Functions + * Copyright (C) 2024 loh.tar@googlemail.com + * + * This software may be distributed under the terms of the BSD license. + * See COPYING for more details. + */ + +#include "helper.h" + +QString Helper::signalToHumanText(const QString& signal) { + + const int s = signal.toInt(); + if (s < -87) { + return signal + "dBm ☆☆☆☆☆"; + } else if (s < -80) { + return signal + "dBm ★☆☆☆☆"; + } else if (s < -73) { + return signal + "dBm ★★☆☆☆"; + } else if (s < -65) { + return signal + "dBm ★★★☆☆"; + } else if (s < -58) { + return signal + "dBm ★★★★☆"; + } else { + return signal + "dBm ★★★★★"; + } +} + + +QString Helper::signalToHumanText(int signal) { + + return signalToHumanText(QString::number(signal)); +} + diff --git a/src/helper.h b/src/helper.h index 83d349b..433a8dd 100644 --- a/src/helper.h +++ b/src/helper.h @@ -9,24 +9,16 @@ * See COPYING for more details. */ +#ifndef HELPER_H +#define HELPER_H + #include namespace Helper { - QString signalToHumanText(const QString& signal) { - const int s = signal.toInt(); - if (s < -87) { - return signal + "dBm ☆☆☆☆☆"; - } else if (s < -80) { - return signal + "dBm ★☆☆☆☆"; - } else if (s < -73) { - return signal + "dBm ★★☆☆☆"; - } else if (s < -65) { - return signal + "dBm ★★★☆☆"; - } else if (s < -58) { - return signal + "dBm ★★★★☆"; - } else { - return signal + "dBm ★★★★★"; - } - }; + QString signalToHumanText(const QString& signal); + QString signalToHumanText(int signal); + } + +#endif /* HELPER_H */ diff --git a/src/wpa_gui.pro b/src/wpa_gui.pro index 58117a0..25e183e 100644 --- a/src/wpa_gui.pro +++ b/src/wpa_gui.pro @@ -61,6 +61,7 @@ SOURCES += main.cpp \ addinterface.cpp \ peers.cpp \ stringquery.cpp \ + helper.cpp \ about.cpp \ ../wpa_supplicant/src/common/wpa_ctrl.c diff --git a/src/wpagui.cpp b/src/wpagui.cpp index 97b879c..2463ec9 100644 --- a/src/wpagui.cpp +++ b/src/wpagui.cpp @@ -31,6 +31,7 @@ #include "about.h" #include "eventhistory.h" +#include "helper.h" #include "networkconfig.h" #include "peers.h" #include "scanresults.h" @@ -760,7 +761,7 @@ void WpaGui::setState(const WpaStateType state) { networkMenu->setEnabled(false); wpaguiTab->setTabEnabled(wpaguiTab->indexOf(networksTab), false); wpaguiTab->setCurrentWidget(eventTab); - rssiBar->hide(); + textRssi->hide(); letTheDogOut(); break; case WpaUnknown: // TC @@ -768,7 +769,7 @@ void WpaGui::setState(const WpaStateType state) { // icon = ; stateText = tr("Unknown"); tally.insert(NetworkNeedsUpdate); - rssiBar->hide(); + textRssi->hide(); break; case WpaObscure: // TC wpaState = WpaObscure; @@ -803,7 +804,7 @@ void WpaGui::setState(const WpaStateType state) { closeDialog(peersWindow); tally.insert(NetworkNeedsUpdate); if (ctrl_conn) { wpa_ctrl_close(ctrl_conn); ctrl_conn = NULL; } - rssiBar->hide(); + textRssi->hide(); // Now, polling is mandatory letTheDogOut(); break; @@ -832,7 +833,7 @@ void WpaGui::setState(const WpaStateType state) { scanAction->setEnabled(false); peersAction->setEnabled(false); tally.insert(NetworkNeedsUpdate); - rssiBar->hide(); + textRssi->hide(); // Now, polling is mandatory letTheDogOut(); break; @@ -873,7 +874,7 @@ void WpaGui::setState(const WpaStateType state) { disconReconAction->setStatusTip(StpWpsActTTTxt); disconReconAction->setEnabled(true); tally.insert(WpsRunning); - rssiBar->hide(); + textRssi->hide(); break; case WpaInactive: // FR wpaState = WpaInactive; @@ -883,7 +884,7 @@ void WpaGui::setState(const WpaStateType state) { disconReconAction->setStatusTip(DiscActTTTxt); disconReconAction->setEnabled(true); tally.insert(NetworkNeedsUpdate); - rssiBar->hide(); + textRssi->hide(); // The wpa_supplicant doesn't report the change // inactive -> disconnected, so we need a work around, letTheDogOut(); @@ -898,7 +899,7 @@ void WpaGui::setState(const WpaStateType state) { wpsAction->setEnabled(tally.contains(WpsIsSupported)); scanAction->setEnabled(true); peersAction->setEnabled(true); - rssiBar->hide(); + textRssi->hide(); // The wpa_supplicant doesn't report the change // scanning -> disconnected, so we need a work around letTheDogOut(BorderCollie); // No PomDog, the scan need some time @@ -911,7 +912,7 @@ void WpaGui::setState(const WpaStateType state) { disconReconAction->setStatusTip(RecActTTTxt); disconReconAction->setEnabled(true); tally.insert(NetworkNeedsUpdate); - rssiBar->hide(); + textRssi->hide(); // The wpa_supplicant doesn't report the change // disconnected -> inactive, so we need a work around because that // happens when you disable your connected network with no alternatives left @@ -925,7 +926,7 @@ void WpaGui::setState(const WpaStateType state) { wpaState = WpaLostSignal; icon = TrayIconSignalNone; stateText = tr("Lost signal"); - rssiBar->hide(); + textRssi->hide(); trayMessage(stateText + tr(" from %1 - %2").arg(textSsid->text()).arg(textBssid->text()) , LogThis, QSystemTrayIcon::Warning); @@ -938,7 +939,7 @@ void WpaGui::setState(const WpaStateType state) { disconReconAction->setStatusTip(DiscActTTTxt); disconReconAction->setEnabled(true); tally.insert(NetworkNeedsUpdate); - rssiBar->show(); + textRssi->show(); trayMessage(stateText + tr(" to %1 - %2").arg(textSsid->text()).arg(textBssid->text()) , LogThis); @@ -1439,7 +1440,7 @@ void WpaGui::updateSignalMeter() { } debug("RSSI value: %d", rssi_value); - rssiBar->setValue(rssi_value); + textRssi->setText(Helper::signalToHumanText(rssi_value)); /* * NOTE: The code below assumes, that the unit of the value returned @@ -2199,7 +2200,7 @@ void WpaGui::showTrayStatus() { msg.append(mask.arg(ssidLabel->text(), lw) .arg(textSsid->text(), tw)); msg.append(mask.arg(rssiLabel->text(), lw) - .arg(rssiBar->text(), tw)); + .arg(textRssi->text(), tw)); msg.append(mask.arg(bssidLabel->text(), lw) .arg(textBssid->text(), tw)); msg.append(mask.arg(authenticationLabel->text(), lw) diff --git a/src/wpagui.ui b/src/wpagui.ui index d1ebba0..feec31f 100644 --- a/src/wpagui.ui +++ b/src/wpagui.ui @@ -145,156 +145,121 @@ QFrame::Plain - - + + + + + + + Status: + + + + + + + SSID: + + + + + + + Signal: + + + + + + + BSSID: + + + + + + + Authentication: + + + + + + + Encryption: + + + + + + + IP address: + + + + + + + + + + + <status> + + + + + + + <ssid> + + + + + + + <rssi> + + + + + + + <bssid> + + + + + + + <auth> + + + + + + + <encryp> + + + + + + + <ip-addr> + + + + + + Qt::Horizontal - - QSizePolicy::Fixed - - 9 - 218 - - - - - - - - Status: - - - - - - - - 1 - 0 - - - - Qt::RightToLeft - - - -95 - - - -35 - - - -68 - - - true - - - QProgressBar::TopToBottom - - - %vdBm - - - - - - - BSSID: - - - - - - - <bssid> - - - - - - - SSID: - - - - - - - Signal: - - - - - - - Authentication: - - - - - - - <auth> - - - - - - - Encryption: - - - - - - - <status> - - - - - - - <encryp> - - - - - - - IP address: - - - - - - - <ip-addr> - - - - - - - <ssid> - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 2 + 282 20