xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/about/abountwidget.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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