diff options
Diffstat (limited to 'src/base')
| -rw-r--r-- | src/base/QXmppFileMetadata.cpp | 16 | ||||
| -rw-r--r-- | src/base/QXmppFileMetadata.h | 4 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/base/QXmppFileMetadata.cpp b/src/base/QXmppFileMetadata.cpp index e71d9dc5..08b9f085 100644 --- a/src/base/QXmppFileMetadata.cpp +++ b/src/base/QXmppFileMetadata.cpp @@ -13,6 +13,7 @@ #include <QDateTime> #include <QDomElement> +#include <QFileInfo> #include <QMimeDatabase> class QXmppFileMetadataPrivate : public QSharedData @@ -38,6 +39,21 @@ public: /// \since QXmpp 1.5 /// +/// +/// \brief Creates a QXmppFileMetadata object from information from QFileInfo. +/// +/// Sets the filename, file size, media type and the last modification date. +/// +QXmppFileMetadata QXmppFileMetadata::fromFileInfo(const QFileInfo &info) +{ + QXmppFileMetadata metadata; + metadata.setFilename(info.fileName()); + metadata.setSize(info.size()); + metadata.setMediaType(QMimeDatabase().mimeTypeForFile(info)); + metadata.setLastModified(info.lastModified()); + return metadata; +} + QXmppFileMetadata::QXmppFileMetadata() : d(new QXmppFileMetadataPrivate()) { diff --git a/src/base/QXmppFileMetadata.h b/src/base/QXmppFileMetadata.h index 335ab5ab..c4d9e8ca 100644 --- a/src/base/QXmppFileMetadata.h +++ b/src/base/QXmppFileMetadata.h @@ -18,12 +18,14 @@ class QXmlStreamWriter; class QXmppHash; class QXmppThumbnail; class QXmppFileMetadataPrivate; +class QFileInfo; class QXMPP_EXPORT QXmppFileMetadata { public: - QXmppFileMetadata(); + static QXmppFileMetadata fromFileInfo(const QFileInfo &info); + QXmppFileMetadata(); QXMPP_PRIVATE_DECLARE_RULE_OF_SIX(QXmppFileMetadata) /// \cond |
