-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSystemInfoView.cpp
79 lines (60 loc) · 1.58 KB
/
SystemInfoView.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include "SystemInfoView.h"
#include "ui_SystemInfoView.h"
#ifdef Q_OS_LINUX
#include "LinuxSysInfo.h"
#elif defined Q_OS_MACOS
#include "MacxSysInfo.h"
#else
#include "WindowsSysInfo.h"
#pragma execution_character_set("utf-8")
#endif
SystemInfoView::SystemInfoView(QWidget *parent) : IMoveWidget(parent), ui(new Ui::SystemInfoView), sysInfo(nullptr)
{
ui->setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowMaximizeButtonHint | Qt::FramelessWindowHint);
#ifdef Q_OS_LINUX
sysInfo = new LinuxSysInfo();
#elif defined Q_OS_MACOS
sysInfo = new MacxSysInfo();
#else
sysInfo = new WindowsSysInfo();
#endif
on_btnStart_clicked();
}
SystemInfoView::~SystemInfoView()
{
delete ui;
}
void SystemInfoView::on_btnStart_clicked()
{
if (sysInfo == nullptr)
{
return;
}
clearAll();
ui->labComputeName->setText(sysInfo->localmachineName());
ui->labProcessorName->setText(sysInfo->cpuType());
ui->labCard->setText(sysInfo->displayCard());
ui->labMemory->setText(sysInfo->memory());
ui->labSystem->setText(sysInfo->osVersion());
ui->labDisplay->setText(sysInfo->screen());
ui->labSpace->setText(sysInfo->disk());
}
void SystemInfoView::clearAll()
{
ui->labComputeName->setText("");
ui->labProcessorName->setText("");
ui->labCard->setText("");
ui->labMemory->setText("");
ui->labSystem->setText("");
ui->labDisplay->setText("");
ui->labSpace->setText("");
}
void SystemInfoView::on_btnMini_clicked()
{
this->showMinimized();
}
void SystemInfoView::on_btnClose_clicked()
{
this->close();
}