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