diff --git a/include/botui/AboutWidget.h b/include/botui/AboutWidget.h
index 8dd4b41f..16c42e63 100644
--- a/include/botui/AboutWidget.h
+++ b/include/botui/AboutWidget.h
@@ -19,6 +19,7 @@ class AboutWidget : public StandardWidget
bool getEventModeState();
void setEventModeState(QString newState);
+ QString getRaspberryPiType();
signals:
void eventModeEnabled();
diff --git a/src/AboutWidget.cpp b/src/AboutWidget.cpp
index 8444147f..c063bfbf 100644
--- a/src/AboutWidget.cpp
+++ b/src/AboutWidget.cpp
@@ -18,16 +18,21 @@ AboutWidget::AboutWidget(Device *device, QWidget *parent)
// Setup the UI
performStandardSetup(tr("About"));
- //Set up emission signals for Event Mode enabled/disabled
+ // Set up emission signals for Event Mode enabled/disabled
setupConnections(this);
- //Event Mode persistent state check
+ // Event Mode persistent state check
bool eventModeState = getEventModeState();
- if(eventModeState){
+ if (eventModeState)
+ {
eventModeBackground(2);
}
-
+
+ QString piType = getRaspberryPiType();
+
+ ui->piType->setText(piType);
+
const bool on = NetworkManager::ref().isOn();
// Version Number
ui->version->setText(device->name() + " v" + device->version());
@@ -96,6 +101,42 @@ AboutWidget::~AboutWidget()
delete ui;
}
+QString AboutWidget::getRaspberryPiType()
+{
+ QProcess process;
+ QString command = "awk '/Revision/ {print $3}' /proc/cpuinfo"; // Corrected command syntax
+
+ process.start("bash", QStringList() << "-c" << command);
+ process.waitForFinished();
+ QByteArray output = process.readAllStandardOutput(); // Fixed this line to use process directly
+
+ QString piType;
+ if (process.exitStatus() == QProcess::NormalExit && process.exitCode() == 0) // Check exit code
+ {
+ qDebug() << "Successfully got Raspberry Pi Type:" << output.trimmed(); // Trim output to remove whitespace
+
+
+ if(output.trimmed() == "a020d3" || output.trimmed() == "a020d4")
+ {
+ piType = "3B+";
+ }
+ else if(output.trimmed() == "a02082" || output.trimmed() == "a22082" || output.trimmed() == "a32082" || output.trimmed() == "a52082" || output.trimmed() == "a22083")
+ {
+ piType = "3B";
+ }
+ else
+ {
+ piType = "Unknown";
+ }
+ }
+ else
+ {
+ qDebug() << "Failed to get Raspberry Pi type. Exit Code:" << process.exitCode();
+ }
+
+ return piType; // Convert QByteArray to QString and trim
+}
+
bool AboutWidget::getEventModeState()
{
QProcess eventModeProcess;
@@ -152,7 +193,7 @@ void AboutWidget::eventModeBackground(int checked)
ui->toggleSwitch->setEnabled(false);
- if (checked == 2) //Enable Event Mode
+ if (checked == 2) // Enable Event Mode
{
setEventModeState("true");
@@ -160,13 +201,12 @@ void AboutWidget::eventModeBackground(int checked)
NetworkManager::ref().deactivateAP();
ui->toggleSwitch->setEnabled(true);
}
- else //Disable Event Mode
+ else // Disable Event Mode
{
setEventModeState("false");
emit eventModeDisabled();
NetworkManager::ref().enableAP();
ui->toggleSwitch->setEnabled(true);
-
}
}
diff --git a/ui/AboutWidget.ui b/ui/AboutWidget.ui
index b6710f7a..bf326af3 100644
--- a/ui/AboutWidget.ui
+++ b/ui/AboutWidget.ui
@@ -80,35 +80,6 @@
- -
-
-
-
- 0
- 0
-
-
-
-
- Sans
- 14
- false
- false
-
-
-
- QLabel{
- background-color: transparent;
-}
-
-
- Version 30.0
-
-
- Qt::AlignCenter
-
-
-
-
@@ -128,6 +99,111 @@
+ -
+
+
+ 0
+
+
+ 200
+
+
+ 150
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 160
+ 16777215
+
+
+
+
+ Sans
+ 14
+ false
+ false
+
+
+
+ QLabel{
+ background-color: transparent;
+}
+
+
+ Version 30.0
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 20
+ 16777215
+
+
+
+
+ 14
+
+
+
+ -
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 125
+ 16777215
+
+
+
+
+ 14
+
+
+
+ Raspberry Pi:
+
+
+
+ -
+
+
+
+ 100
+ 16777215
+
+
+
+
+ 14
+
+
+
+
+
+
+
+
+
-