diff --git a/src/core/Metadata.cpp b/src/core/Metadata.cpp index e0f5dcfd..a759366d 100644 --- a/src/core/Metadata.cpp +++ b/src/core/Metadata.cpp @@ -19,16 +19,12 @@ #include "core/Database.h" #include "core/Entry.h" +#include "core/Group.h" Metadata::Metadata(Database* parent) : QObject(parent) , m_parent(parent) { - m_recycleBin = 0; - m_entryTemplatesGroup = 0; - m_lastSelectedGroup = 0; - m_lastTopVisibleGroup = 0; - m_generator = "KeePassX"; m_maintenanceHistoryDays = 365; m_recycleBinEnabled = true; @@ -55,7 +51,8 @@ Metadata::Metadata(Database* parent) m_updateDatetime = true; } -template bool Metadata::set(T& property, const T& value) { +template bool Metadata::set(P& property, const V& value) +{ if (property != value) { property = value; Q_EMIT modified(); @@ -66,7 +63,7 @@ template bool Metadata::set(T& property, const T& value) { } } -template bool Metadata::set(T& property, const T& value, QDateTime& dateTime) { +template bool Metadata::set(P& property, const V& value, QDateTime& dateTime) { if (property != value) { property = value; if (m_updateDatetime) { diff --git a/src/core/Metadata.h b/src/core/Metadata.h index 60f8d2d0..af6b08a1 100644 --- a/src/core/Metadata.h +++ b/src/core/Metadata.h @@ -20,6 +20,7 @@ #include #include +#include #include #include @@ -105,8 +106,8 @@ Q_SIGNALS: void modified(); private: - template inline bool set(T& property, const T& value, QDateTime& dateTime); - template inline bool set(T& property, const T& value); + template bool set(P& property, const V& value); + template bool set(P& property, const V& value, QDateTime& dateTime); Database* m_parent; @@ -130,12 +131,12 @@ private: QHash m_customIcons; bool m_recycleBinEnabled; - Group* m_recycleBin; + QPointer m_recycleBin; QDateTime m_recycleBinChanged; - Group* m_entryTemplatesGroup; + QPointer m_entryTemplatesGroup; QDateTime m_entryTemplatesGroupChanged; - Group* m_lastSelectedGroup; - Group* m_lastTopVisibleGroup; + QPointer m_lastSelectedGroup; + QPointer m_lastTopVisibleGroup; QDateTime m_masterKeyChanged; int m_masterKeyChangeRec;