Add requested source code changes

This commit is contained in:
Vladimir Svyatski 2017-04-21 17:33:06 +03:00
parent dea65b637c
commit 75c16d1cbb
6 changed files with 34 additions and 30 deletions

View file

@ -1273,32 +1273,19 @@ bool DatabaseWidget::isRecycleBinSelected() const
return m_groupView->currentGroup() && m_groupView->currentGroup() == m_db->metadata()->recycleBin();
}
void DatabaseWidget::emptyTrash()
void DatabaseWidget::emptyRecycleBin()
{
Group* currentGroup = m_groupView->currentGroup();
if (!currentGroup) {
Q_ASSERT(false);
if(!isRecycleBinSelected()) {
return;
}
if (currentGroup == m_db->metadata()->recycleBin()) {
QMessageBox::StandardButton result = MessageBox::question(
this, tr("Empty recycle bin?"),
tr("Are you sure you want to permanently delete everytning from your recycle bin?"),
QMessageBox::Yes | QMessageBox::No);
QMessageBox::StandardButton result = MessageBox::question(
this, tr("Empty recycle bin?"),
tr("Are you sure you want to permanently delete everything from your recycle bin?"),
QMessageBox::Yes | QMessageBox::No);
if (result == QMessageBox::Yes) {
// destroying direct entries of the recycle bin
QList<Entry*> subEntries = currentGroup->entries();
for (Entry* entry : subEntries) {
delete entry;
}
// destroying direct subgroups of the recycle bin
QList<Group*> subGroups = currentGroup->children();
for (Group* group : subGroups) {
delete group;
}
refreshSearch();
}
if (result == QMessageBox::Yes) {
m_db->emptyRecycleBin();
refreshSearch();
}
}