Files
yacreader/common/global_info_provider.cpp
luisangelsm 3709b6e737
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
Format includes using clang-format
2026-03-13 18:21:38 +01:00

53 lines
1.7 KiB
C++

#include "global_info_provider.h"
#include <QImageReader>
#include <QPaintDevice>
#include <QtCore>
#ifdef YACREADER_LIBRARY
#include <QSqlDatabase>
#endif
QString YACReader::getGlobalInfo()
{
QString text;
text.append("SYSTEM INFORMATION\n");
text.append(QString("Qt version: %1\n").arg(qVersion()));
text.append(QString("Build ABI: %1\n").arg(QSysInfo::buildAbi()));
text.append(QString("build CPU architecture: %1\n").arg(QSysInfo::buildCpuArchitecture()));
text.append(QString("CPU architecture: %1\n").arg(QSysInfo::currentCpuArchitecture()));
text.append(QString("Kernel type: %1\n").arg(QSysInfo::kernelType()));
text.append(QString("Kernel version: %1\n").arg(QSysInfo::kernelVersion()));
text.append(QString("Product info: %1\n").arg(QSysInfo::prettyProductName()));
text.append("\nAPP INFORMATION\n");
QString supportedImageFormats = QImageReader::supportedImageFormats().join(", ");
text.append(QString("Image formats supported: %1\n").arg(supportedImageFormats));
// append if sqlite driver is available
#ifdef YACREADER_LIBRARY
text.append(QString("SQLite driver available: %1\n").arg(QSqlDatabase::isDriverAvailable("QSQLITE") ? "yes" : "no"));
#endif
#ifdef use_unarr
text.append("Compression backend: unarr (no RAR5 support)\n");
#elif defined use_libarchive
text.append("Compression backend: libarchive\n");
#else
text.append("Compression backend: 7zip\n");
#endif
// print pdf backend used, poppler, pdfkit, pdfium
#ifdef NO_PDF
text.append("PDF support: None\n");
#elif defined USE_PDFKIT
text.append("PDF support: PDFKit\n");
#elif defined USE_PDFIUM
text.append("PDF support: PDFium\n");
#else
text.append("PDF support: Poppler\n");
#endif
return text;
}