hyprsysteminfo/qmlSources/SystemInternals.hpp

103 lines
2.3 KiB
C++
Raw Normal View History

2024-10-13 17:48:22 +02:00
#ifndef SYSTEMINTERNALS_H
#define SYSTEMINTERNALS_H
#include <QObject>
#include <QQmlApplicationEngine>
#include <QPixmap>
#include <QIcon>
class CSystemInternals : public QObject {
Q_OBJECT;
public:
explicit CSystemInternals(QObject* parent = nullptr) : QObject(parent) {
;
}
2024-10-13 17:54:23 +02:00
QString systemLogoName, systemName = "Linux", systemURL = "https://kernel.org/", systemKernel = "unknown";
QString hyprlandVersion, hyprlandVersionLong;
2024-10-13 17:48:22 +02:00
2024-10-13 17:54:23 +02:00
QString cpuInfo = "missing dependency: lscpu";
std::vector<QString> gpuInfo = {"missing dependency: lspci"};
QString ramInfo = "?";
2024-10-13 17:48:22 +02:00
2024-10-13 17:54:23 +02:00
QString hlSystemInfo = "[error]", hlSystemVersion = "[error]";
2024-10-13 17:48:22 +02:00
2024-10-13 22:15:37 +02:00
QString uptime = "unknown", DE = "Unknown", screens = "unknown", board = "", user = "";
2024-10-13 17:54:23 +02:00
Q_INVOKABLE bool hasSystemLogoName() {
2024-10-13 17:48:22 +02:00
return systemLogoName.size() > 0;
}
Q_INVOKABLE QString getSystemLogoName() {
return systemLogoName;
}
Q_INVOKABLE QString getSystemName() {
return systemName;
}
Q_INVOKABLE QString getSystemURL() {
return systemURL;
}
Q_INVOKABLE QString getSystemKernel() {
return systemKernel;
}
Q_INVOKABLE bool hasHyprland() {
return hyprlandVersionLong.size() > 0;
}
Q_INVOKABLE QString getHyprlandVersion() {
return hyprlandVersion;
}
Q_INVOKABLE QString getHyprlandVersionLong() {
return hyprlandVersionLong;
}
Q_INVOKABLE QString getCPUInfo() {
return cpuInfo;
}
2024-10-13 17:54:23 +02:00
Q_INVOKABLE int getGPUInfoCount() {
return gpuInfo.size();
}
Q_INVOKABLE QString getGPUInfo(int idx) {
if (idx >= gpuInfo.size())
return "[error]";
return gpuInfo.at(idx);
2024-10-13 17:48:22 +02:00
}
Q_INVOKABLE QString getRAMInfo() {
return ramInfo;
}
2024-10-13 22:15:37 +02:00
Q_INVOKABLE QString getDE() {
return DE;
}
Q_INVOKABLE QString getUptime() {
return uptime;
}
Q_INVOKABLE QString getDisplays() {
return screens;
}
Q_INVOKABLE QString getModel() {
return board;
}
Q_INVOKABLE QString getUserAt() {
return user;
}
2024-10-13 17:48:22 +02:00
Q_INVOKABLE void copySystemInfo();
Q_INVOKABLE void copyVersion();
};
#endif // SYSTEMINTERNALS_H