File indexing completed on 2025-02-16 13:03:42
0001 /* 0002 This file is part of the KFileMetaData project 0003 SPDX-FileCopyrightText: 2016 Varun Joshi <varunj.1011@gmail.com> 0004 SPDX-FileCopyrightText: 2016 Vishesh Handa <me@vhanda.in> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "writedata.h" 0010 0011 #include <QMimeDatabase> 0012 0013 using namespace KFileMetaData; 0014 0015 class KFileMetaData::WriteDataPrivate 0016 { 0017 public: 0018 QString url; 0019 QString mimetype; 0020 PropertyMultiMap properties; 0021 QMap<EmbeddedImageData::ImageType, QByteArray> images; 0022 }; 0023 0024 WriteData::WriteData(const QString& url, const QString& mimetype) 0025 : d_ptr(new WriteDataPrivate) 0026 { 0027 Q_D(WriteData); 0028 0029 d->url = url; 0030 d->mimetype = mimetype; 0031 if (mimetype.isEmpty()) { 0032 d->mimetype = QMimeDatabase().mimeTypeForFile(url).name(); 0033 } 0034 } 0035 0036 WriteData::WriteData(const WriteData& rhs) 0037 : d_ptr(new WriteDataPrivate(*rhs.d_ptr)) 0038 { 0039 } 0040 0041 WriteData& WriteData::operator=(const WriteData& rhs) 0042 { 0043 *d_ptr = *rhs.d_ptr; 0044 return *this; 0045 } 0046 0047 bool WriteData::operator==(const WriteData& rhs) const 0048 { 0049 Q_D(const WriteData); 0050 return d->properties == rhs.d_ptr->properties; 0051 } 0052 0053 void WriteData::add(Property::Property property, const QVariant& value) 0054 { 0055 Q_D(WriteData); 0056 d->properties.insert(property, value); 0057 } 0058 0059 void WriteData::addImageData(const QMap<EmbeddedImageData::ImageType, QByteArray>& images) 0060 { 0061 Q_D(WriteData); 0062 d->images = images; 0063 } 0064 0065 QMap<EmbeddedImageData::ImageType, QByteArray> WriteData::imageData() const 0066 { 0067 Q_D(const WriteData); 0068 return d->images; 0069 } 0070 0071 WriteData::~WriteData() = default; 0072 0073 QString WriteData::inputUrl() const 0074 { 0075 Q_D(const WriteData); 0076 return d->url; 0077 } 0078 0079 QString WriteData::inputMimetype() const 0080 { 0081 Q_D(const WriteData); 0082 return d->mimetype; 0083 } 0084 0085 PropertyMultiMap WriteData::properties() const 0086 { 0087 Q_D(const WriteData); 0088 return d->properties; 0089 } 0090 0091 #if KFILEMETADATA_BUILD_DEPRECATED_SINCE(5, 89) 0092 PropertyMap WriteData::getAllProperties() const 0093 { 0094 Q_D(const WriteData); 0095 return d->properties; 0096 } 0097 #endif