First commit

This commit is contained in:
spiros
2024-05-29 03:49:25 +03:00
parent 550b26a41e
commit b36b55f575
10 changed files with 916 additions and 0 deletions

44
mainwindow.h Normal file
View File

@@ -0,0 +1,44 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QProcess>
#include <QWidget>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QButtonGroup>
#include "statusdot.h"
#include "custombutton.h"
#include "./ui_mainwindow.h"
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QButtonGroup *buttonGroup;
QHBoxLayout *horizontalLayout;
QLabel *diskName, *temperatureValue, *healthStatusValue;
QLineEdit *firmwareLineEdit, *serialNumberLineEdit, *typeLineEdit, *protocolLineEdit, *deviceNodeLineEdit;
QLineEdit *totalReadsLineEdit, *totalWritesLineEdit, *rotationRateLineEdit, *powerOnCountLineEdit, *powerOnHoursLineEdit;
QTableWidget *tableWidget;
void scanDevices();
void populateWindow(const QJsonObject &tempObj, const QString &health);
void addSmartAttributesTable(const QJsonArray &attributes);
QString getSmartctlOutput(const QStringList &arguments, bool root);
};
#endif