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"