File indexing completed on 2024-05-05 05:36:40

0001 /*
0002     SPDX-FileCopyrightText: 2019 Jonah BrĂ¼chert <jbb@kaidan.im>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #include "info.h"
0008 
0009 #include <KLocalizedString>
0010 #include <KPluginFactory>
0011 #include <QClipboard>
0012 #include <QGuiApplication>
0013 
0014 K_PLUGIN_CLASS_WITH_JSON(Info, "kcm_mobile_info.json")
0015 
0016 Info::Info(QObject *parent, const KPluginMetaData &metaData)
0017     : KQuickConfigModule(parent, metaData)
0018     , m_distroInfo(new DistroInfo(this))
0019     , m_softwareInfo(new SoftwareInfo(this))
0020     , m_hardwareInfo(new HardwareInfo(this))
0021 {
0022     setButtons({});
0023 
0024     qDebug() << "Info module loaded.";
0025 }
0026 
0027 void Info::copyInfoToClipboard() const
0028 {
0029     const QString clipboardText = QStringLiteral(
0030                                       "Operating System: %1\n"
0031                                       "KDE Plasma Version: %2\n"
0032                                       "KDE Frameworks Version: %3\n"
0033                                       "Qt Version: %4\n"
0034                                       "Kernel Version: %5\n"
0035                                       "OS-Type: %6\n"
0036                                       "Processor: %7\n"
0037                                       "Memory: %8\n")
0038                                       .arg(distroInfo()->name(),
0039                                            softwareInfo()->plasmaVersion(),
0040                                            softwareInfo()->frameworksVersion(),
0041                                            softwareInfo()->qtVersion(),
0042                                            softwareInfo()->kernelRelease(),
0043                                            softwareInfo()->osType(),
0044                                            hardwareInfo()->processors(),
0045                                            hardwareInfo()->memory());
0046 
0047     QGuiApplication::clipboard()->setText(clipboardText);
0048 }
0049 
0050 DistroInfo *Info::distroInfo() const
0051 {
0052     return m_distroInfo;
0053 }
0054 
0055 SoftwareInfo *Info::softwareInfo() const
0056 {
0057     return m_softwareInfo;
0058 }
0059 
0060 HardwareInfo *Info::hardwareInfo() const
0061 {
0062     return m_hardwareInfo;
0063 }
0064 
0065 #include "info.moc"