File indexing completed on 2024-05-12 05:04:16
0001 // SPDX-FileCopyrightText: 2023 Shubham Arora <shubhamarora@protonmail.com> 0002 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0003 0004 #pragma once 0005 0006 #include <QtQml> 0007 0008 class History 0009 { 0010 Q_GADGET 0011 0012 Q_PROPERTY(QString day MEMBER m_day) 0013 Q_PROPERTY(QString uses MEMBER m_uses) 0014 Q_PROPERTY(QString accounts MEMBER m_accounts) 0015 0016 public: 0017 History() = default; 0018 explicit History(const QString &day, const QString &uses, const QString &accounts); 0019 0020 private: 0021 QString m_day; 0022 QString m_uses; 0023 QString m_accounts; 0024 }; 0025 0026 class Tag 0027 { 0028 Q_GADGET 0029 0030 Q_PROPERTY(QString name MEMBER m_name) 0031 Q_PROPERTY(QUrl url MEMBER m_url) 0032 Q_PROPERTY(bool following MEMBER m_following) 0033 Q_PROPERTY(QList<History> history READ history CONSTANT) 0034 0035 public: 0036 Tag() = default; 0037 explicit Tag(QJsonObject obj); 0038 0039 QString name() const; 0040 QUrl url() const; 0041 QList<History> history() const; 0042 0043 private: 0044 void fromJson(QJsonObject obj); 0045 0046 QString m_name; 0047 QUrl m_url; 0048 bool m_following = false; 0049 QList<History> m_history; 0050 };