Add ability to delete groups via gui.

This commit is contained in:
Florian Geyer 2012-04-21 19:06:28 +02:00 committed by Felix Geyer
parent 19bacd6737
commit 8467e7756d
11 changed files with 153 additions and 29 deletions

View file

@ -197,16 +197,21 @@ bool Database::hasKey()
return m_hasKey;
}
void Database::createRecycleBin()
{
Group* recycleBin = new Group();
recycleBin->setUuid(Uuid::random());
recycleBin->setName(tr("Recycle Bin"));
recycleBin->setIcon(43);
recycleBin->setParent(rootGroup());
m_metadata->setRecycleBin(recycleBin);
}
void Database::recycleEntry(Entry* entry)
{
if (m_metadata->recycleBinEnabled()) {
if (!m_metadata->recycleBin()) {
Group* recycleBin = new Group();
recycleBin->setUuid(Uuid::random());
recycleBin->setName(tr("Recycle Bin"));
recycleBin->setIcon(43);
recycleBin->setParent(rootGroup());
m_metadata->setRecycleBin(recycleBin);
createRecycleBin();
}
entry->setGroup(metadata()->recycleBin());
}
@ -214,3 +219,16 @@ void Database::recycleEntry(Entry* entry)
delete entry;
}
}
void Database::recycleGroup(Group* group)
{
if (m_metadata->recycleBinEnabled()) {
if (!m_metadata->recycleBin()) {
createRecycleBin();
}
group->setParent(metadata()->recycleBin());
}
else {
delete group;
}
}