File indexing completed on 2024-05-19 16:31:57
0001 /* 0002 * SPDX-FileCopyrightText: 2009 David Hubner <hubnerd@ntlworld.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 * 0006 */ 0007 0008 #include "devinfo.h" 0009 0010 #include <KAboutData> 0011 #include <KLocalizedString> 0012 #include <QGridLayout> 0013 #include <QLabel> 0014 #include <QSplitter> 0015 0016 // Plugin 0017 #include <KPluginFactory> 0018 0019 #include "devicelisting.h" 0020 #include "infopanel.h" 0021 0022 K_PLUGIN_CLASS_WITH_JSON(DevInfoPlugin, "devinfo.json") 0023 0024 DevInfoPlugin::DevInfoPlugin(QWidget *parent, const QVariantList &) 0025 : KCModule(parent) 0026 { 0027 const KAboutData *about = 0028 new KAboutData(i18n("kcmdevinfo"), i18n("Device Viewer"), QStringLiteral("0.70"), QString(), KAboutLicense::GPL, i18n("(c) 2010 David Hubner")); 0029 0030 setAboutData(about); 0031 0032 // Layout 0033 layout = new QGridLayout(this); 0034 layout->setContentsMargins(0, 0, 0, 0); 0035 0036 // top 0037 QSplitter *split = new QSplitter(Qt::Horizontal, this); 0038 split->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 0039 0040 split->setChildrenCollapsible(false); 0041 0042 InfoPanel *info = new InfoPanel(split, this); 0043 DeviceListing *devList = new DeviceListing(split, info, this); 0044 0045 split->setStretchFactor(1, 1); 0046 0047 // bottom 0048 QWidget *bottom = new QWidget(this); 0049 bottom->setContentsMargins(0, 0, 0, 0); 0050 bottom->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Minimum); 0051 0052 QHBoxLayout *bottomLayout = new QHBoxLayout(bottom); 0053 bottomLayout->setContentsMargins(0, 0, 0, 0); 0054 0055 QFont boldFont; 0056 boldFont.setBold(true); 0057 0058 QLabel *udiLabel = new QLabel(i18n("UDI: ")); 0059 udiLabel->setTextInteractionFlags(Qt::TextSelectableByMouse); 0060 udiLabel->setFont(boldFont); 0061 udiLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum); 0062 0063 udiStatus = new QLabel(this); 0064 udiStatus->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); 0065 udiStatus->setTextInteractionFlags(Qt::TextSelectableByMouse); 0066 udiStatus->setWhatsThis(i18nc("Udi Whats This", "Shows the current device's UDI (Unique Device Identifier)")); 0067 0068 // Adding 0069 split->addWidget(devList); 0070 split->addWidget(info); 0071 layout->addWidget(split, 0, 0); 0072 0073 bottomLayout->addWidget(udiLabel); 0074 bottomLayout->addWidget(udiStatus); 0075 layout->addWidget(bottom, 1, 0, 1, 0); 0076 0077 // Misc 0078 setButtons(Help); 0079 updateStatus(i18nc("no device UDI", "None")); 0080 } 0081 0082 DevInfoPlugin::~DevInfoPlugin() 0083 { 0084 delete layout; 0085 } 0086 0087 void DevInfoPlugin::updateStatus(const QString &message) 0088 { 0089 udiStatus->setText(message); 0090 } 0091 0092 #include "devinfo.moc"