#include "abountwidget.h" #include #include #include #include #include "ui_about.h" #include #include "systemmanager.h" #include AbountWidget::AbountWidget(QWidget *parent) : IWidget(parent), ui(new Ui::AboutWidget), m_bQuit(false) { ui->setupUi(this); ui->textBrowser->append("loading ..."); } AbountWidget::~AbountWidget() { m_bQuit =true; m_fetcher->terminate(); m_fetcher->wait(); delete ui; } QString AbountWidget::id() { return "about"; } void AbountWidget::loadData(const QDomElement &head, const QDomElement &body) { Q_UNUSED(head) Q_UNUSED(body) // QTimer *timer = new QTimer(this); // connect(timer, &QTimer::timeout, this,[=](){ // SystemManager *pSys = SystemManager::instance(); // QString stoarge; // QString memTotal; // QString memFree; // QString memAvailable; // QString kerVersion; // QString userCpu; // pSys->getStoargeInfo(stoarge); // pSys->getMemInfo(memTotal, memFree, memAvailable); // pSys->getKernalInfo(kerVersion); // pSys->getCpuInfo(userCpu); // int total = memTotal.toInt()/1024; // int free = memFree.toInt()/1024; // int avaiable = memAvailable.toInt()/1024; // ui->textBrowser->clear(); // ui->textBrowser->append(QString("[Kernal Version]: %1").arg(kerVersion.trimmed())); // ui->textBrowser->append("\n"); // ui->textBrowser->append(QString("[User Cpu]: %1").arg(userCpu.trimmed())); // ui->textBrowser->append("\n"); // ui->textBrowser->append(QString("[MemTotal]: %1 M [MemFree] %2 M [MemAvailable]%3 M") // .arg(total) // .arg(free) // .arg(avaiable) // ); // ui->textBrowser->append("\n"); // ui->textBrowser->append(stoarge); // }); m_fetcher = new FetcherSystem(this); connect(m_fetcher, &FetcherSystem::finished, this, [=](){ if(m_bQuit) { return ; } QString stoarge; QString memTotal; QString memFree; QString memAvailable; QString kerVersion; QString userCpu; m_fetcher->getInfomartion(stoarge, memTotal, memFree, memAvailable, kerVersion, userCpu); ui->textBrowser->clear(); ui->textBrowser->append(QString("[Kernal Version]: %1").arg(kerVersion.trimmed())); ui->textBrowser->append("\n"); ui->textBrowser->append(QString("[User Cpu]: %1").arg(userCpu.trimmed())); ui->textBrowser->append("\n"); ui->textBrowser->append(QString("[MemTotal]: %1 M [MemFree] %2 M [MemAvailable]%3 M") .arg(memTotal) .arg(memFree) .arg(memAvailable) ); ui->textBrowser->append("\n"); ui->textBrowser->append(stoarge); m_fetcher->start(); }); m_fetcher->start(); } FetcherSystem::FetcherSystem(QObject *parent):QThread(parent) { } void FetcherSystem::getInfomartion(QString &storage, QString &memTotal, QString &memFree, QString &memAvailable, QString &kerVersion, QString &userCpu) { storage = m_storage; memTotal = m_memTotal; memFree = m_memFree; memAvailable = m_memAvailable; kerVersion = m_kerVersion; userCpu = m_userCpu; } void FetcherSystem::run() { SystemManager *pSys = SystemManager::instance(); pSys->getStoargeInfo(m_storage); pSys->getMemInfo(m_memTotal, m_memFree, m_memAvailable); pSys->getKernalInfo(m_kerVersion); pSys->getCpuInfo(m_userCpu); m_memTotal = QString::number(m_memTotal.toInt()/1024); m_memFree = QString::number(m_memFree.toInt()/1024); m_memAvailable = QString::number(m_memAvailable.toInt()/1024); }