File indexing completed on 2024-05-05 05:28:25
0001 /* 0002 0003 SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #pragma once 0009 0010 #include <KQuickConfigModule> 0011 #include <QFileInfo> 0012 #include <QObject> 0013 0014 class Module : public QObject 0015 { 0016 Q_OBJECT 0017 Q_PROPERTY(KQuickConfigModule *kcm READ kcm NOTIFY kcmChanged) 0018 Q_PROPERTY(QString path READ path WRITE setPath NOTIFY pathChanged) 0019 Q_PROPERTY(QString name READ name WRITE setPath NOTIFY nameChanged) 0020 Q_PROPERTY(bool valid READ valid NOTIFY validChanged) 0021 0022 public: 0023 KQuickConfigModule *kcm() const; 0024 QString path() const; 0025 void setPath(const QString &name); 0026 0027 QString name() 0028 { 0029 return QFileInfo(m_path).baseName(); 0030 } 0031 0032 bool valid(); 0033 0034 Q_SIGNALS: 0035 void kcmChanged(); 0036 void pathChanged(); 0037 void nameChanged(); 0038 void validChanged(); 0039 0040 private: 0041 KQuickConfigModule *m_kcm = nullptr; 0042 QString m_path; 0043 bool m_valid = false; 0044 };