mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-07 03:22:33 +01:00
Add uptime to sysinfo
This commit is contained in:
parent
817734e6b6
commit
7e10ae47e2
@ -9,8 +9,22 @@ find_package(
|
|||||||
COMPONENTS Quick Core
|
COMPONENTS Quick Core
|
||||||
REQUIRED)
|
REQUIRED)
|
||||||
|
|
||||||
set(src screenplaysysinfo_plugin.cpp sysinfo.cpp cpu.cpp ram.cpp storage.cpp)
|
set(src
|
||||||
set(headers screenplaysysinfo_plugin.h sysinfo.h cpu.h ram.h mathhelper.h storage.h)
|
screenplaysysinfo_plugin.cpp
|
||||||
|
sysinfo.cpp
|
||||||
|
cpu.cpp
|
||||||
|
ram.cpp
|
||||||
|
storage.cpp
|
||||||
|
uptime.cpp)
|
||||||
|
|
||||||
|
set(headers
|
||||||
|
screenplaysysinfo_plugin.h
|
||||||
|
sysinfo.h
|
||||||
|
cpu.h
|
||||||
|
ram.h
|
||||||
|
mathhelper.h
|
||||||
|
storage.h
|
||||||
|
uptime.h)
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED ${src} ${headers})
|
add_library(${PROJECT_NAME} SHARED ${src} ${headers})
|
||||||
|
|
||||||
|
@ -37,10 +37,10 @@
|
|||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
#include <qt_windows.h>
|
#include <qt_windows.h>
|
||||||
#endif
|
#endif
|
||||||
//#include <sysinfoapi.h>
|
|
||||||
|
|
||||||
#define DWORDLONG unsigned long long
|
#define DWORDLONG unsigned long long
|
||||||
|
|
||||||
|
@ -5,5 +5,6 @@ SysInfo::SysInfo(QQuickItem* parent)
|
|||||||
, m_ram(std::make_unique<RAM>())
|
, m_ram(std::make_unique<RAM>())
|
||||||
, m_cpu(std::make_unique<CPU>())
|
, m_cpu(std::make_unique<CPU>())
|
||||||
, m_storage(std::make_unique<Storage>())
|
, m_storage(std::make_unique<Storage>())
|
||||||
|
, m_uptime(std::make_unique<Uptime>())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -40,6 +40,7 @@
|
|||||||
#include "cpu.h"
|
#include "cpu.h"
|
||||||
#include "ram.h"
|
#include "ram.h"
|
||||||
#include "storage.h"
|
#include "storage.h"
|
||||||
|
#include "uptime.h"
|
||||||
|
|
||||||
class SysInfo : public QQuickItem {
|
class SysInfo : public QQuickItem {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -47,33 +48,25 @@ class SysInfo : public QQuickItem {
|
|||||||
Q_PROPERTY(RAM* ram READ ram NOTIFY ramChanged)
|
Q_PROPERTY(RAM* ram READ ram NOTIFY ramChanged)
|
||||||
Q_PROPERTY(CPU* cpu READ cpu NOTIFY cpuChanged)
|
Q_PROPERTY(CPU* cpu READ cpu NOTIFY cpuChanged)
|
||||||
Q_PROPERTY(Storage* storage READ storage NOTIFY storageChanged)
|
Q_PROPERTY(Storage* storage READ storage NOTIFY storageChanged)
|
||||||
|
Q_PROPERTY(Uptime* uptime READ uptime NOTIFY uptimeChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SysInfo(QQuickItem* parent = nullptr);
|
SysInfo(QQuickItem* parent = nullptr);
|
||||||
~SysInfo() { }
|
|
||||||
|
|
||||||
RAM* ram() const
|
RAM* ram() const { return m_ram.get(); }
|
||||||
{
|
CPU* cpu() const { return m_cpu.get(); }
|
||||||
return m_ram.get();
|
Storage* storage() const { return m_storage.get(); }
|
||||||
}
|
Uptime* uptime() const { return m_uptime.get(); }
|
||||||
|
|
||||||
CPU* cpu() const
|
|
||||||
{
|
|
||||||
return m_cpu.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
Storage* storage() const
|
|
||||||
{
|
|
||||||
return m_storage.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void ramChanged(RAM* ram);
|
void ramChanged(RAM* ram);
|
||||||
void cpuChanged(CPU* cpu);
|
void cpuChanged(CPU* cpu);
|
||||||
void storageChanged(Storage* storage);
|
void storageChanged(Storage* storage);
|
||||||
|
void uptimeChanged(Uptime* uptime);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<RAM> m_ram;
|
std::unique_ptr<RAM> m_ram;
|
||||||
std::unique_ptr<CPU> m_cpu;
|
std::unique_ptr<CPU> m_cpu;
|
||||||
std::unique_ptr<Storage> m_storage;
|
std::unique_ptr<Storage> m_storage;
|
||||||
|
std::unique_ptr<Uptime> m_uptime;
|
||||||
};
|
};
|
||||||
|
37
ScreenPlaySysInfo/uptime.cpp
Normal file
37
ScreenPlaySysInfo/uptime.cpp
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#include "uptime.h"
|
||||||
|
|
||||||
|
#ifdef Q_OS_WINDOWS
|
||||||
|
#include <Windows.h>
|
||||||
|
#include <sysinfoapi.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Uptime::Uptime(QObject* parent)
|
||||||
|
: QObject(parent)
|
||||||
|
{
|
||||||
|
QObject::connect(&m_updateTimer, &QTimer::timeout, this, &Uptime::update);
|
||||||
|
m_updateTimer.start(m_tickRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Uptime::update()
|
||||||
|
{
|
||||||
|
#ifdef Q_OS_WINDOWS
|
||||||
|
auto ticks = GetTickCount64();
|
||||||
|
auto milliseconds = ticks % 1000;
|
||||||
|
ticks /= 1000;
|
||||||
|
auto seconds = ticks % 60;
|
||||||
|
ticks /= 60;
|
||||||
|
auto minutes = ticks % 60;
|
||||||
|
ticks /= 60;
|
||||||
|
auto hours = ticks;
|
||||||
|
ticks /= 24;
|
||||||
|
auto days = ticks;
|
||||||
|
ticks /= 365;
|
||||||
|
auto years = ticks;
|
||||||
|
|
||||||
|
setSeconds(seconds);
|
||||||
|
setMinutes(minutes);
|
||||||
|
setHours(hours);
|
||||||
|
setDays(days);
|
||||||
|
setYears(years);
|
||||||
|
#endif
|
||||||
|
}
|
86
ScreenPlaySysInfo/uptime.h
Normal file
86
ScreenPlaySysInfo/uptime.h
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
#pragma once
|
||||||
|
#include <QObject>
|
||||||
|
#include <QTimer>
|
||||||
|
|
||||||
|
class Uptime : public QObject {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
Q_PROPERTY(int days READ days WRITE setDays NOTIFY daysChanged)
|
||||||
|
Q_PROPERTY(int years READ years WRITE setYears NOTIFY yearsChanged)
|
||||||
|
Q_PROPERTY(int hours READ hours WRITE setHours NOTIFY hoursChanged)
|
||||||
|
Q_PROPERTY(int minutes READ minutes WRITE setMinutes NOTIFY minutesChanged)
|
||||||
|
Q_PROPERTY(int seconds READ seconds WRITE setSeconds NOTIFY secondsChanged)
|
||||||
|
|
||||||
|
public:
|
||||||
|
Uptime(QObject* parent = nullptr);
|
||||||
|
|
||||||
|
int days() const { return m_days; }
|
||||||
|
int years() const { return m_years; }
|
||||||
|
int hours() const { return m_hours; }
|
||||||
|
int minutes() const { return m_minutes; }
|
||||||
|
int seconds() const { return m_seconds; }
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void update();
|
||||||
|
|
||||||
|
void setDays(int days)
|
||||||
|
{
|
||||||
|
if (m_days == days)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_days = days;
|
||||||
|
emit daysChanged(m_days);
|
||||||
|
}
|
||||||
|
void setYears(int years)
|
||||||
|
{
|
||||||
|
if (m_years == years)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_years = years;
|
||||||
|
emit yearsChanged(m_years);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setHours(int hours)
|
||||||
|
{
|
||||||
|
if (m_hours == hours)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_hours = hours;
|
||||||
|
emit hoursChanged(m_hours);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setMinutes(int minutes)
|
||||||
|
{
|
||||||
|
if (m_minutes == minutes)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_minutes = minutes;
|
||||||
|
emit minutesChanged(m_minutes);
|
||||||
|
}
|
||||||
|
|
||||||
|
void setSeconds(int seconds)
|
||||||
|
{
|
||||||
|
if (m_seconds == seconds)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_seconds = seconds;
|
||||||
|
emit secondsChanged(m_seconds);
|
||||||
|
}
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void daysChanged(int days);
|
||||||
|
void yearsChanged(int years);
|
||||||
|
void hoursChanged(int hours);
|
||||||
|
void minutesChanged(int minutes);
|
||||||
|
void secondsChanged(int seconds);
|
||||||
|
|
||||||
|
private:
|
||||||
|
int m_days = 0;
|
||||||
|
int m_years = 0;
|
||||||
|
int m_hours = 0;
|
||||||
|
int m_minutes = 0;
|
||||||
|
int m_seconds = 0;
|
||||||
|
|
||||||
|
int m_tickRate = 1000;
|
||||||
|
QTimer m_updateTimer;
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user