1 /*************************************************************************** 2 qgsprojectmetadata.cpp 3 -------------------- 4 begin : March 2018 5 copyright : (C) 2018 by Nyall Dawson 6 email : nyall dot dawson at gmail dot com 7 ***************************************************************************/ 8 9 /*************************************************************************** 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 ***************************************************************************/ 17 18 #include "qgsprojectmetadata.h" 19 #include <QDomNode> 20 #include <QDomDocument> 21 readMetadataXml(const QDomElement & metadataElement)22bool QgsProjectMetadata::readMetadataXml( const QDomElement &metadataElement ) 23 { 24 QgsAbstractMetadataBase::readMetadataXml( metadataElement ); 25 26 QDomNode mnl; 27 28 // set author 29 mnl = metadataElement.namedItem( QStringLiteral( "author" ) ); 30 mAuthor = mnl.toElement().text(); 31 32 // creation datetime 33 mnl = metadataElement.namedItem( QStringLiteral( "creation" ) ); 34 mCreationDateTime = QDateTime::fromString( mnl.toElement().text(), Qt::ISODate ); 35 36 return true; 37 } 38 writeMetadataXml(QDomElement & metadataElement,QDomDocument & document) const39bool QgsProjectMetadata::writeMetadataXml( QDomElement &metadataElement, QDomDocument &document ) const 40 { 41 QgsAbstractMetadataBase::writeMetadataXml( metadataElement, document ); 42 43 // author 44 QDomElement author = document.createElement( QStringLiteral( "author" ) ); 45 QDomText authorText = document.createTextNode( mAuthor ); 46 author.appendChild( authorText ); 47 metadataElement.appendChild( author ); 48 49 // creation datetime 50 QDomElement creation = document.createElement( QStringLiteral( "creation" ) ); 51 QDomText creationText = document.createTextNode( mCreationDateTime.toString( Qt::ISODate ) ); 52 creation.appendChild( creationText ); 53 metadataElement.appendChild( creation ); 54 55 return true; 56 } 57 operator ==(const QgsProjectMetadata & metadataOther) const58bool QgsProjectMetadata::operator==( const QgsProjectMetadata &metadataOther ) const 59 { 60 return equals( metadataOther ) && 61 mAuthor == metadataOther.mAuthor && 62 mCreationDateTime == metadataOther.mCreationDateTime ; 63 } 64 clone() const65QgsProjectMetadata *QgsProjectMetadata::clone() const 66 { 67 return new QgsProjectMetadata( *this ); 68 } 69 author() const70QString QgsProjectMetadata::author() const 71 { 72 return mAuthor; 73 } 74 setAuthor(const QString & author)75void QgsProjectMetadata::setAuthor( const QString &author ) 76 { 77 mAuthor = author; 78 } 79 creationDateTime() const80QDateTime QgsProjectMetadata::creationDateTime() const 81 { 82 return mCreationDateTime; 83 } 84 setCreationDateTime(const QDateTime & creationDateTime)85void QgsProjectMetadata::setCreationDateTime( const QDateTime &creationDateTime ) 86 { 87 mCreationDateTime = creationDateTime; 88 } 89