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 #include "ImageDetails.h"
0006 
0007 namespace RemoteControl
0008 {
0009 
0010 ImageDetails &ImageDetails::instance()
0011 {
0012     static ImageDetails instance;
0013     return instance;
0014 }
0015 
0016 QStringList ImageDetails::categories() const
0017 {
0018     return m_categories.keys();
0019 }
0020 
0021 QStringList ImageDetails::itemsOfCategory(const QString &category)
0022 {
0023     auto list = m_categories[category];
0024     QStringList res;
0025     std::transform(list.begin(), list.end(), std::back_inserter(res),
0026                    [](CategoryItemDetails &item) { return item.name; });
0027     return res;
0028 }
0029 
0030 void ImageDetails::clear()
0031 {
0032     m_fileName.clear();
0033     m_date.clear();
0034     m_description.clear();
0035     m_categories.clear();
0036     Q_EMIT updated();
0037 }
0038 
0039 void ImageDetails::setData(const ImageDetailsResult &data)
0040 {
0041     m_fileName = data.fileName;
0042     m_date = data.date;
0043     m_description = data.description;
0044     m_categories = data.categories;
0045     Q_EMIT updated();
0046 }
0047 
0048 QString ImageDetails::age(const QString &category, const QString &item)
0049 {
0050     auto list = m_categories[category];
0051     auto res = std::find_if(list.begin(), list.end(),
0052                             [&category, &item](const CategoryItemDetails &candidate) {
0053                                 return candidate.name == item;
0054                             });
0055     return (*res).age;
0056 }
0057 } // namespace RemoteControl
0058 
0059 #include "moc_ImageDetails.cpp"