1 #include "abountwidget.h"
2 #include <QCoreApplication>
3 #include <QDir>
4 #include <QTimer>
5 #include <QPainter>
6 #include "ui_about.h"
7 #include <QCoreApplication>
8 #include "systemmanager.h"
9 #include <QTimer>
10
AbountWidget(QWidget * parent)11 AbountWidget::AbountWidget(QWidget *parent) : IWidget(parent),
12 ui(new Ui::AboutWidget),
13 m_bQuit(false)
14 {
15 ui->setupUi(this);
16 ui->textBrowser->append("loading ...");
17 }
18
~AbountWidget()19 AbountWidget::~AbountWidget()
20 {
21 m_bQuit =true;
22 m_fetcher->terminate();
23 m_fetcher->wait();
24 delete ui;
25 }
26
id()27 QString AbountWidget::id()
28 {
29 return "about";
30 }
31
loadData(const QDomElement & head,const QDomElement & body)32 void AbountWidget::loadData(const QDomElement &head, const QDomElement &body)
33 {
34 Q_UNUSED(head)
35 Q_UNUSED(body)
36
37 // QTimer *timer = new QTimer(this);
38 // connect(timer, &QTimer::timeout, this,[=](){
39 // SystemManager *pSys = SystemManager::instance();
40 // QString stoarge;
41 // QString memTotal;
42 // QString memFree;
43 // QString memAvailable;
44 // QString kerVersion;
45 // QString userCpu;
46 // pSys->getStoargeInfo(stoarge);
47 // pSys->getMemInfo(memTotal, memFree, memAvailable);
48 // pSys->getKernalInfo(kerVersion);
49 // pSys->getCpuInfo(userCpu);
50
51 // int total = memTotal.toInt()/1024;
52 // int free = memFree.toInt()/1024;
53 // int avaiable = memAvailable.toInt()/1024;
54 // ui->textBrowser->clear();
55 // ui->textBrowser->append(QString("[Kernal Version]: %1").arg(kerVersion.trimmed()));
56 // ui->textBrowser->append("\n");
57 // ui->textBrowser->append(QString("[User Cpu]: %1").arg(userCpu.trimmed()));
58 // ui->textBrowser->append("\n");
59 // ui->textBrowser->append(QString("[MemTotal]: %1 M [MemFree] %2 M [MemAvailable]%3 M")
60 // .arg(total)
61 // .arg(free)
62 // .arg(avaiable)
63 // );
64 // ui->textBrowser->append("\n");
65 // ui->textBrowser->append(stoarge);
66
67 // });
68
69 m_fetcher = new FetcherSystem(this);
70 connect(m_fetcher, &FetcherSystem::finished, this, [=](){
71 if(m_bQuit)
72 {
73 return ;
74 }
75 QString stoarge;
76 QString memTotal;
77 QString memFree;
78 QString memAvailable;
79 QString kerVersion;
80 QString userCpu;
81 m_fetcher->getInfomartion(stoarge, memTotal, memFree, memAvailable, kerVersion, userCpu);
82
83 ui->textBrowser->clear();
84 ui->textBrowser->append(QString("[Kernal Version]: %1").arg(kerVersion.trimmed()));
85 ui->textBrowser->append("\n");
86 ui->textBrowser->append(QString("[User Cpu]: %1").arg(userCpu.trimmed()));
87 ui->textBrowser->append("\n");
88 ui->textBrowser->append(QString("[MemTotal]: %1 M [MemFree] %2 M [MemAvailable]%3 M")
89 .arg(memTotal)
90 .arg(memFree)
91 .arg(memAvailable)
92 );
93 ui->textBrowser->append("\n");
94 ui->textBrowser->append(stoarge);
95 m_fetcher->start();
96 });
97 m_fetcher->start();
98 }
99
FetcherSystem(QObject * parent)100 FetcherSystem::FetcherSystem(QObject *parent):QThread(parent)
101 {
102
103 }
104
getInfomartion(QString & storage,QString & memTotal,QString & memFree,QString & memAvailable,QString & kerVersion,QString & userCpu)105 void FetcherSystem::getInfomartion(QString &storage, QString &memTotal, QString &memFree, QString &memAvailable, QString &kerVersion, QString &userCpu)
106 {
107 storage = m_storage;
108 memTotal = m_memTotal;
109 memFree = m_memFree;
110 memAvailable = m_memAvailable;
111 kerVersion = m_kerVersion;
112 userCpu = m_userCpu;
113 }
114
run()115 void FetcherSystem::run()
116 {
117 SystemManager *pSys = SystemManager::instance();
118 pSys->getStoargeInfo(m_storage);
119 pSys->getMemInfo(m_memTotal, m_memFree, m_memAvailable);
120 pSys->getKernalInfo(m_kerVersion);
121 pSys->getCpuInfo(m_userCpu);
122
123 m_memTotal = QString::number(m_memTotal.toInt()/1024);
124 m_memFree = QString::number(m_memFree.toInt()/1024);
125 m_memAvailable = QString::number(m_memAvailable.toInt()/1024);
126 }
127