shift-shell/kcms/info/info.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

52 lines
1.3 KiB
C
Raw Normal View History

/*
SPDX-FileCopyrightText: 2019 Jonah Brüchert <jbb@kaidan.im>
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
*/
#include "distroinfo.h"
#include "hardwareinfo.h"
#include "softwareinfo.h"
2023-03-18 17:53:52 +00:00
#include <KQuickConfigModule>
#include <QJsonDocument>
#ifndef INFO_H
#define INFO_H
2023-03-18 17:53:52 +00:00
class Info : public KQuickConfigModule
{
Q_OBJECT
Q_PROPERTY(DistroInfo *distroInfo READ distroInfo NOTIFY distroInfoChanged)
Q_PROPERTY(SoftwareInfo *softwareInfo READ softwareInfo NOTIFY softwareInfoChanged)
Q_PROPERTY(HardwareInfo *hardwareInfo READ hardwareInfo NOTIFY hardwareInfoChanged)
Q_PROPERTY(QVariantList vendorInfo READ vendorInfo CONSTANT)
Q_PROPERTY(QString vendorInfoTitle READ vendorInfoTitle CONSTANT)
DistroInfo *distroInfo() const;
SoftwareInfo *softwareInfo() const;
HardwareInfo *hardwareInfo() const;
QVariantList vendorInfo() const;
QString vendorInfoTitle() const;
public:
Info(QObject *parent, const KPluginMetaData &metaData);
Q_INVOKABLE void copyInfoToClipboard() const;
Q_SIGNALS:
void distroInfoChanged();
void softwareInfoChanged();
void hardwareInfoChanged();
private:
DistroInfo *m_distroInfo;
SoftwareInfo *m_softwareInfo;
HardwareInfo *m_hardwareInfo;
QJsonDocument m_vendorInfo;
};
#endif // INFO_H