diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt index 534edad24..99a7418f4 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/Database.kt @@ -353,12 +353,18 @@ class Database { val allowConfigurableRecycleBin: Boolean get() = mDatabaseKDBX != null - var isRecycleBinEnabled: Boolean + val isRecycleBinEnabled: Boolean // Backup is always enabled in KDB database get() = mDatabaseKDB != null || mDatabaseKDBX?.isRecycleBinEnabled ?: false - set(value) { - mDatabaseKDBX?.isRecycleBinEnabled = value + + fun enableRecycleBin(enable: Boolean, resources: Resources) { + mDatabaseKDBX?.isRecycleBinEnabled = enable + if (enable) { + ensureRecycleBinExists(resources) + } else { + removeRecycleBin() } + } val recycleBin: Group? get() { @@ -379,11 +385,12 @@ class Database { get() = mDatabaseKDBX != null // Maybe another templates method with KDBX5 - var isTemplatesEnabled: Boolean + val isTemplatesEnabled: Boolean get() = mDatabaseKDBX?.isTemplatesGroupEnabled() ?: false - set(value) { - mDatabaseKDBX?.enableTemplatesGroup(value) - } + + fun enableTemplates(enable: Boolean) { + mDatabaseKDBX?.enableTemplatesGroup(enable) + } val templatesGroup: Group? get() { diff --git a/app/src/main/java/com/kunzisoft/keepass/database/element/database/DatabaseKDBX.kt b/app/src/main/java/com/kunzisoft/keepass/database/element/database/DatabaseKDBX.kt index 500ca897c..6c199a8ed 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/element/database/DatabaseKDBX.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/element/database/DatabaseKDBX.kt @@ -341,8 +341,11 @@ class DatabaseKDBX : DatabaseVersioned { fun enableTemplatesGroup(enable: Boolean) { if (enable) { - // TODO Build default templates group - setTemplatesGroup(UUID_ZERO) + val uuidTemplatesGroup = mTemplateEngine.createNewTemplatesGroup() + + addGroupTo(uuidTemplatesGroup, rootGroup) + entryTemplatesGroup = uuidTemplatesGroup.id + entryTemplatesGroupChanged = uuidTemplatesGroup.lastModificationTime } else { entryTemplatesGroup = UUID_ZERO mTemplateEngine.clearCache() @@ -356,11 +359,6 @@ class DatabaseKDBX : DatabaseVersioned { return null } - fun setTemplatesGroup(uuid: UUID) { - entryTemplatesGroup = uuid - entryTemplatesGroupChanged = DateInstant() - } - fun getTemplates(): List