diff --git a/sources/machine_info.cpp b/sources/machine_info.cpp index 98f2f5dfb..816da8f88 100644 --- a/sources/machine_info.cpp +++ b/sources/machine_info.cpp @@ -17,6 +17,8 @@ */ #include "machine_info.h" #include +#include +#include #include /** @@ -67,7 +69,7 @@ void Machine_info::init_get_Screen_info() } /** - @brief Machine_info::get_max_screen_width + @brief Machine_info::i_max_screen_width @return max screen width */ int32_t Machine_info::i_max_screen_width() @@ -76,10 +78,122 @@ int32_t Machine_info::i_max_screen_width() } /** - @brief Machine_info::get_max_screen_height + @brief Machine_info::i_max_screen_height @return max screen height */ int32_t Machine_info::i_max_screen_height() { return Max_screen_height; } + +/** + @brief Machine_info::compilation_info + @return compilation_info +*/ +QString Machine_info::compilation_info() +{ + QString compilation_info = "
" + tr("Compilation : "); +#ifdef __GNUC__ +#ifdef __APPLE_CC__ + compilation_info += " CLANG " + QString(__clang_version__ ); + compilation_info += "
Built with Qt " + QString(QT_VERSION_STR); + compilation_info += " - Date : " + QString(__DATE__); + compilation_info += " : " + QString(__TIME__); + compilation_info += "
Run with Qt "+ QString(qVersion()); + compilation_info += " using" + QString(" %1 thread(s)").arg( + QThread::idealThreadCount()); + QProcess macoscpuinfo; + macoscpuinfo.start("bash", + QStringList() + << "-c" + << "sysctl -n machdep.cpu.brand_string"); + macoscpuinfo.waitForFinished(); + QString macosOutput = macoscpuinfo.readAllStandardOutput(); + compilation_info += "
"" CPU : " + + QString(macosOutput.toLocal8Bit().constData()); + +#else + compilation_info += " GCC " + QString(__VERSION__); + compilation_info += "
Built with Qt " + QString(QT_VERSION_STR); + compilation_info += " - Date : " + QString(__DATE__); + compilation_info += " : " + QString(__TIME__); + compilation_info += "
Run with Qt "+ QString(qVersion()); + compilation_info += " using" + + QString(" %1 thread(s)").arg( + QThread::idealThreadCount()); + + QString OSName = QSysInfo::kernelType(); + if (OSName == "linux") + { + QProcess linuxcpuinfo; + linuxcpuinfo.start("bash", QStringList() + << "-c" + << "cat /proc/cpuinfo |grep 'model name' | uniq"); + linuxcpuinfo.waitForFinished(); + QString linuxOutput = linuxcpuinfo.readAllStandardOutput(); + compilation_info += "
"" CPU : " + + QString(linuxOutput.toLocal8Bit().constData()); + + QProcess p; + p.start("awk", QStringList() + << "/MemTotal/ { print $2 }" + << "/proc/meminfo"); + p.waitForFinished(); + QString memory = p.readAllStandardOutput(); + compilation_info += "
" + + QString("RAM Total : %1 MB").arg( + memory.toLong() / 1024); + p.close(); + + QProcess qp; + qp.start("awk", + QStringList() + << "/MemAvailable/ {print $2}" + << "/proc/meminfo"); + qp.waitForFinished(); + QString AvailableMemory = qp.readAllStandardOutput(); + compilation_info += "
" + + QString("RAM Available : %1 MB").arg( + AvailableMemory.toLong() / 1024); + qp.close(); + + QProcess linuxgpuinfo; + linuxgpuinfo.start("bash", + QStringList() + << "-c" + << "lspci | grep VGA | cut -d : -f 3"); + linuxgpuinfo.waitForFinished(); + QString linuxGPUOutput = linuxgpuinfo.readAllStandardOutput(); + compilation_info += "
"" GPU : " + + QString(linuxGPUOutput.toLocal8Bit().constData()); + + } + +#endif +#endif + + compilation_info += "
" " OS : " + + QString(QSysInfo::kernelType()); + compilation_info += " - " + + QString(QSysInfo::currentCpuArchitecture()); + compilation_info += " - Version : " + + QString(QSysInfo::prettyProductName()); + compilation_info += "
" " - Kernel : " + + QString(QSysInfo::kernelVersion()); + compilation_info += "
*** Qt screens ***
"; + const auto screens = qApp->screens(); + for (int ii = 0; ii < screens.count(); ++ii) { + compilation_info += "
( " + + QString::number(ii + 1) + + " : " + + QString::number( + screens[ii]->geometry().width() + * screens[ii]->devicePixelRatio()) + + " x " + + QString::number( + screens[ii]->geometry().height() + * screens[ii]->devicePixelRatio()) + + " )
"; + } + return compilation_info; +} diff --git a/sources/machine_info.h b/sources/machine_info.h index 86c89183a..a580ce98f 100644 --- a/sources/machine_info.h +++ b/sources/machine_info.h @@ -31,6 +31,7 @@ public: explicit Machine_info(QObject *parent = nullptr); int32_t i_max_screen_width(); int32_t i_max_screen_height(); + QString compilation_info(); signals: diff --git a/sources/ui/aboutqetdialog.cpp b/sources/ui/aboutqetdialog.cpp index a531ecf12..7f1e84561 100644 --- a/sources/ui/aboutqetdialog.cpp +++ b/sources/ui/aboutqetdialog.cpp @@ -18,11 +18,8 @@ #include "aboutqetdialog.h" #include "ui_aboutqetdialog.h" #include "qet.h" - -#include +#include "machine_info.h" #include -#include -#include /** @brief AboutQETDialog::AboutQETDialog @@ -143,83 +140,11 @@ void AboutQETDialog::setContributors() */ void AboutQETDialog::setVersion() { - QString str = "QElectroTech V " + QET::displayedVersion + ""; - QString compilation_info = "
" + tr("Compilation : "); -#ifdef __GNUC__ -#ifdef __APPLE_CC__ - compilation_info += " CLANG " + QString(__clang_version__ ); - compilation_info += "
Built with Qt " + QString(QT_VERSION_STR); - compilation_info += " - Date : " + QString(__DATE__); - compilation_info += " : " + QString(__TIME__); - compilation_info += "
Run with Qt "+ QString(qVersion()); - compilation_info += " using" + QString(" %1 thread(s)").arg(QThread::idealThreadCount()); - QProcess macoscpuinfo; - macoscpuinfo.start("bash", QStringList() << "-c" << "sysctl -n machdep.cpu.brand_string"); - macoscpuinfo.waitForFinished(); - QString macosOutput = macoscpuinfo.readAllStandardOutput(); - compilation_info += "
"" CPU : " + QString(macosOutput.toLocal8Bit().constData()); - - compilation_info += "
" " OS : " + QString(QSysInfo::kernelType()); - compilation_info += " - " + QString(QSysInfo::currentCpuArchitecture()); - compilation_info += " - Version : " + QString(QSysInfo::prettyProductName()); - compilation_info += "
" " - Kernel : " + QString(QSysInfo::kernelVersion()); -#else - compilation_info += " GCC " + QString(__VERSION__); - compilation_info += "
Built with Qt " + QString(QT_VERSION_STR); - compilation_info += " - Date : " + QString(__DATE__); - compilation_info += " : " + QString(__TIME__); - compilation_info += "
Run with Qt "+ QString(qVersion()); - compilation_info += " using" + QString(" %1 thread(s)").arg(QThread::idealThreadCount()); - - QString OSName = QSysInfo::kernelType(); - if (OSName == "linux") - { - QProcess linuxcpuinfo; - linuxcpuinfo.start("bash", QStringList() << "-c" << "cat /proc/cpuinfo |grep 'model name' | uniq"); - linuxcpuinfo.waitForFinished(); - QString linuxOutput = linuxcpuinfo.readAllStandardOutput(); - compilation_info += "
"" CPU : " + QString(linuxOutput.toLocal8Bit().constData()); - - QProcess p; - p.start("awk", QStringList() << "/MemTotal/ { print $2 }" << "/proc/meminfo"); - p.waitForFinished(); - QString memory = p.readAllStandardOutput(); - compilation_info += "
" + QString("RAM Total : %1 MB").arg(memory.toLong() / 1024); - p.close(); - - QProcess qp; - qp.start("awk", QStringList() << "/MemAvailable/ {print $2}" << "/proc/meminfo"); - qp.waitForFinished(); - QString AvailableMemory = qp.readAllStandardOutput(); - compilation_info += "
" + QString("RAM Available : %1 MB").arg(AvailableMemory.toLong() / 1024); - qp.close(); - - QProcess linuxgpuinfo; - linuxgpuinfo.start("bash", QStringList() << "-c" << "lspci | grep VGA | cut -d : -f 3"); - linuxgpuinfo.waitForFinished(); - QString linuxGPUOutput = linuxgpuinfo.readAllStandardOutput(); - compilation_info += "
"" GPU : " + QString(linuxGPUOutput.toLocal8Bit().constData()); - - } - - compilation_info += "
" " OS : " + QString(QSysInfo::kernelType()); - compilation_info += " - " + QString(QSysInfo::currentCpuArchitecture()); - compilation_info += " - Version : " + QString(QSysInfo::prettyProductName()); - compilation_info += "
" " - Kernel : " + QString(QSysInfo::kernelVersion()); -#endif -#endif - compilation_info += "
*** Qt screens ***
"; - const auto screens = qApp->screens(); - for (int ii = 0; ii < screens.count(); ++ii) { - compilation_info += "
( " - + QString::number(ii + 1) - + " : " - + QString::number(screens[ii]->geometry().width() * screens[ii]->devicePixelRatio()) - + " x " - + QString::number(screens[ii]->geometry().height() * screens[ii]->devicePixelRatio()) - + " )
"; - } - ui->m_version_label->setText(str + compilation_info); + QString str = "QElectroTech V " + + QET::displayedVersion + + ""; + Machine_info *my_ma =new Machine_info(this); + ui->m_version_label->setText(str + my_ma->compilation_info()); } /**