Warning, file /utilities/telly-skout/src/group.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // SPDX-FileCopyrightText: 2022 Plata Hill <plata.hill@kdemail.net> 0002 // SPDX-License-Identifier: LGPL-2.1-or-later 0003 0004 #pragma once 0005 0006 #include <QObject> 0007 0008 #include "groupdata.h" 0009 #include "types.h" 0010 0011 class ChannelsModel; 0012 0013 class Group : public QObject 0014 { 0015 Q_OBJECT 0016 0017 Q_PROPERTY(QString id READ id CONSTANT) 0018 Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) 0019 Q_PROPERTY(QString url READ url CONSTANT) 0020 Q_PROPERTY(bool refreshing READ refreshing WRITE setRefreshing NOTIFY refreshingChanged) 0021 Q_PROPERTY(int errorId READ errorId NOTIFY errorIdChanged) 0022 Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged) 0023 Q_PROPERTY(ChannelsModel *channels MEMBER m_channels CONSTANT) 0024 0025 public: 0026 explicit Group(const GroupData &data); 0027 0028 ~Group(); 0029 0030 QString id() const; 0031 QString name() const; 0032 QString url() const; 0033 int errorId() const; 0034 QString errorString() const; 0035 0036 bool refreshing() const; 0037 0038 void setName(const QString &name); 0039 void setRefreshing(bool refreshing); 0040 0041 Q_SIGNALS: 0042 void nameChanged(const QString &name); 0043 void groupsChanged(const QVector<Group *> &groups); 0044 void deleteAfterCountChanged(int count); 0045 void deleteAfterTypeChanged(int type); 0046 void errorIdChanged(int errorId); 0047 void errorStringChanged(const QString &errorString); 0048 0049 void refreshingChanged(bool refreshing); 0050 0051 private: 0052 void setError(const Error &error); 0053 0054 GroupData m_data; 0055 ChannelsModel *m_channels; 0056 Error m_error; 0057 0058 bool m_refreshing = false; 0059 };