File indexing completed on 2024-04-28 15:39:41
0001 // SPDX-FileCopyrightText: 2014-2022 Jesper K. Pedersen <blackie@kde.org> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 #ifndef REMOTECONTROL_IMAGEDETAILS_H 0006 #define REMOTECONTROL_IMAGEDETAILS_H 0007 0008 #include "RemoteCommand.h" 0009 #include <QObject> 0010 namespace RemoteControl 0011 { 0012 0013 class ImageDetails : public QObject 0014 { 0015 Q_OBJECT 0016 Q_PROPERTY(QString fileName MEMBER m_fileName NOTIFY updated) 0017 Q_PROPERTY(QString date MEMBER m_date NOTIFY updated) 0018 Q_PROPERTY(QString description MEMBER m_description NOTIFY updated) 0019 Q_PROPERTY(QStringList categories READ categories NOTIFY updated) 0020 0021 // This is just a dummy property to ensure that categories are updated too when changed. 0022 Q_PROPERTY(QString dummy READ dummy NOTIFY updated) 0023 0024 public: 0025 static ImageDetails &instance(); 0026 QStringList categories() const; 0027 0028 public Q_SLOTS: 0029 void clear(); 0030 void setData(const ImageDetailsResult &data); 0031 QStringList itemsOfCategory(const QString &category); 0032 QString dummy() const { return {}; } 0033 QString age(const QString &category, const QString &item); 0034 0035 Q_SIGNALS: 0036 void updated(); 0037 0038 private: 0039 ImageDetails() = default; 0040 QString m_fileName; 0041 QString m_date; 0042 QString m_description; 0043 QMap<QString, CategoryItemDetailsList> m_categories; 0044 }; 0045 0046 } // namespace RemoteControl 0047 0048 #endif // REMOTECONTROL_IMAGEDETAILS_H