Add convenience function Database::addDeletedObject(const Uuid&).

Drop Group::addDeletedObject() and make Entry call the Database function
instead.
This commit is contained in:
Felix Geyer 2012-04-22 00:29:39 +02:00
parent 72defa375d
commit 411617cc8b
5 changed files with 22 additions and 24 deletions

View File

@ -121,6 +121,15 @@ void Database::addDeletedObject(const DeletedObject& delObj)
m_deletedObjects.append(delObj);
}
void Database::addDeletedObject(const Uuid& uuid)
{
DeletedObject delObj;
delObj.deletionTime = QDateTime::currentDateTimeUtc();
delObj.uuid = uuid;
addDeletedObject(delObj);
}
Uuid Database::cipher() const
{
return m_cipher;

View File

@ -67,6 +67,7 @@ public:
Group* resolveGroup(const Uuid& uuid);
QList<DeletedObject> deletedObjects();
void addDeletedObject(const DeletedObject& delObj);
void addDeletedObject(const Uuid& uuid);
Uuid cipher() const;
Database::CompressionAlgorithm compressionAlgo() const;

View File

@ -45,10 +45,9 @@ Entry::~Entry()
if (m_group) {
m_group->removeEntry(this);
DeletedObject delEntry;
delEntry.deletionTime = QDateTime::currentDateTimeUtc();
delEntry.uuid = m_uuid;
m_group->addDeletedObject(delEntry);
if (m_group->database()) {
m_group->database()->addDeletedObject(m_uuid);
}
}
qDeleteAll(m_history);
@ -362,10 +361,7 @@ void Entry::setGroup(Group* group)
if (m_group) {
m_group->removeEntry(this);
if (m_group->database() != group->database()) {
DeletedObject delEntry;
delEntry.deletionTime = QDateTime::currentDateTimeUtc();
delEntry.uuid = m_uuid;
m_group->addDeletedObject(delEntry);
m_group->database()->addDeletedObject(m_uuid);
}
}

View File

@ -300,6 +300,11 @@ void Group::setParent(Database* db)
QObject::setParent(db);
}
Database* Group::database()
{
return m_db;
}
const Database* Group::database() const
{
return m_db;
@ -418,16 +423,10 @@ void Group::cleanupParent()
void Group::recCreateDelObjects()
{
if (m_db) {
DeletedObject delGroup;
delGroup.deletionTime = QDateTime::currentDateTimeUtc();
delGroup.uuid = m_uuid;
m_db->addDeletedObject(delGroup);
m_db->addDeletedObject(m_uuid);
Q_FOREACH (Entry* entry, m_entries) {
DeletedObject delEntry;
delEntry.deletionTime = QDateTime::currentDateTimeUtc();
delEntry.uuid = entry->uuid();
m_db->addDeletedObject(delEntry);
m_db->addDeletedObject(entry->uuid());
}
Q_FOREACH (Group* group, m_children) {
@ -435,10 +434,3 @@ void Group::recCreateDelObjects()
}
}
}
void Group::addDeletedObject(const DeletedObject& delObj)
{
if (m_db) {
m_db->addDeletedObject(delObj);
}
}

View File

@ -69,13 +69,13 @@ public:
const Group* parentGroup() const;
void setParent(Group* parent, int index = -1);
Database* database();
const Database* database() const;
QList<Group*> children();
const QList<Group*>& children() const;
QList<Entry*> entries();
const QList<Entry*>& entries() const;
QList<Entry*> entriesRecursive(bool includeHistoryItems = false);
void addDeletedObject(const DeletedObject& delObj);
Q_SIGNALS: