File indexing completed on 2024-05-12 04:33:18

0001 /*
0002     SPDX-FileCopyrightText: 2009-2010 Michael G. Hansen <mike at mghansen dot de>
0003     SPDX-FileCopyrightText: 2011-2018 Gilles Caulier <caulier dot gilles at gmail dot com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "kipiimageinfoshared.h"
0009 
0010 // Qt includes
0011 
0012 #include <QFileInfo>
0013 #include <QStringList>
0014 #include <QDebug>
0015 
0016 namespace KXMLKipiCmd
0017 {
0018 
0019 class KipiImageInfoShared::Private
0020 {
0021 public:
0022 
0023     Private()
0024     {
0025     }
0026 
0027     QDateTime dateTime;
0028 };
0029 
0030 KipiImageInfoShared::KipiImageInfoShared(Interface* const interface, const QUrl& url)
0031     : ImageInfoShared(interface, url),
0032       d(new Private())
0033 {
0034 }
0035 
0036 KipiImageInfoShared::~KipiImageInfoShared()
0037 {
0038     delete d;
0039 }
0040 
0041 QMap<QString, QVariant> KipiImageInfoShared::attributes()
0042 {
0043     qDebug() << "QMap<QString,QVariant> attributes()";
0044 
0045     QMap<QString, QVariant> res;
0046 
0047     // Comment attribute
0048     res[QString::fromLatin1("comment")] = QString::fromLatin1("Image located at \"%1\"").arg(_url.url());
0049 
0050     // Date attribute
0051     if (!d->dateTime.isValid())
0052     {
0053         if ( ! _url.isLocalFile() )
0054         {
0055             qFatal("KIPI::ImageInfoShared::time does not yet support non local files, please fix\n");
0056             d->dateTime = QDateTime();
0057         }
0058         else
0059         {
0060             // File creation date only
0061             d->dateTime = QFileInfo( _url.toLocalFile() ).lastModified();
0062         }
0063     }
0064 
0065     res[QString::fromLatin1("date")] = d->dateTime;
0066 
0067     return res;
0068 }
0069 void KipiImageInfoShared::clearAttributes()
0070 {
0071     qDebug() << "void KipiImageInfoShared::clearAttributes()";
0072 }
0073 
0074 void KipiImageInfoShared::addAttributes(const QMap<QString, QVariant>& attributes)
0075 {
0076     qDebug() << "void KipiImageInfoShared::addAttributes()";
0077 
0078     QMap<QString, QVariant>::const_iterator it = attributes.constBegin();
0079 
0080     while (it != attributes.constEnd())
0081     {
0082         QString key = it.key();
0083         QString val = it.value().toString();
0084         qDebug() << QString::fromLatin1("attribute( \"%1\" ), value( \"%2\" )").arg(key).arg(val);
0085         ++it;
0086     }
0087 }
0088 
0089 void KipiImageInfoShared::delAttributes(const QStringList& attributes)
0090 {
0091     qDebug() << "void KipiImageInfoShared::delAttributes()";
0092     qDebug() << QString::fromLatin1("attributes : \"%1\"").arg(attributes.join(QString::fromLatin1(", ")));
0093 }
0094 
0095 } // namespace KXMLKipiCmd