00001 #ifndef DATAFOLDERHISTORY_H 00002 #define DATAFOLDERHISTORY_H 00003 00004 #include <QString> 00005 #include <QDomElement> 00006 #include <QDomDocument> 00007 #include <QDateTime> 00008 00009 // TODO: dateCreation is redundant in the XML data structure 00010 00012 class DataFolderHistory 00013 { 00014 public: 00015 QDateTime dateCreation() { return m_dateCreation; } 00016 QDateTime dateLastModification() { return m_dateLastModification; } 00017 QString description() { return m_description; } 00018 QString ownerEmail() { return m_ownerEmail; } 00019 QString ownerName() { return m_ownerName; } 00020 QString title() { return m_title; } 00021 00022 void updateProjectData(); 00023 bool differsFromProject(); 00024 void refreshModificationDate() { m_dateLastModification = QDateTime::currentDateTime(); } 00025 static DataFolderHistory *fromProject(); 00026 00028 void hash(unsigned int &startValue); 00030 bool loadDataNode(const QDomNode data); 00032 QDomElement saveDataNode(QDomDocument* xml); 00033 00034 DataFolderHistory(); 00035 ~DataFolderHistory() {} 00036 00037 private: 00038 QDomElement createTextElement(QDomDocument *xml, QString tagName, QString content); 00039 00040 QDateTime m_dateCreation; 00041 QDateTime m_dateLastModification; 00042 QString m_description; 00043 QString m_ownerEmail; 00044 QString m_ownerName; 00045 QString m_title; 00046 }; 00047 00048 #endif // DATAFOLDERHISTORY_H