mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Fix merge and save copy in KDB database
This commit is contained in:
@@ -276,6 +276,9 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
inflateMenu(R.menu.settings)
|
inflateMenu(R.menu.settings)
|
||||||
inflateMenu(R.menu.database_extra)
|
inflateMenu(R.menu.database_extra)
|
||||||
inflateMenu(R.menu.about)
|
inflateMenu(R.menu.about)
|
||||||
|
if (!mMergeDataAllowed) {
|
||||||
|
menu.findItem(R.id.menu_merge_from)?.isVisible = false
|
||||||
|
}
|
||||||
setNavigationItemSelectedListener { menuItem ->
|
setNavigationItemSelectedListener { menuItem ->
|
||||||
when (menuItem.itemId) {
|
when (menuItem.itemId) {
|
||||||
R.id.menu_app_settings -> {
|
R.id.menu_app_settings -> {
|
||||||
@@ -289,7 +292,7 @@ class GroupActivity : DatabaseLockActivity(),
|
|||||||
mExternalFileHelper?.createDocument(
|
mExternalFileHelper?.createDocument(
|
||||||
getString(R.string.database_file_name_default) +
|
getString(R.string.database_file_name_default) +
|
||||||
getString(R.string.database_file_name_copy) +
|
getString(R.string.database_file_name_copy) +
|
||||||
getString(R.string.database_file_extension_default))
|
mDatabase?.defaultFileExtension)
|
||||||
}
|
}
|
||||||
R.id.menu_contribute -> {
|
R.id.menu_contribute -> {
|
||||||
UriUtil.gotoUrl(this@GroupActivity, R.string.contribution_url)
|
UriUtil.gotoUrl(this@GroupActivity, R.string.contribution_url)
|
||||||
|
|||||||
@@ -274,6 +274,9 @@ class Database {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val defaultFileExtension: String
|
||||||
|
get() = mDatabaseKDB?.defaultFileExtension ?: mDatabaseKDBX?.defaultFileExtension ?: ".bin"
|
||||||
|
|
||||||
val type: Class<*>?
|
val type: Class<*>?
|
||||||
get() = mDatabaseKDB?.javaClass ?: mDatabaseKDBX?.javaClass
|
get() = mDatabaseKDB?.javaClass ?: mDatabaseKDBX?.javaClass
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,9 @@ class DatabaseKDB : DatabaseVersioned<Int, UUID, GroupKDB, EntryKDB>() {
|
|||||||
override val version: String
|
override val version: String
|
||||||
get() = "V1"
|
get() = "V1"
|
||||||
|
|
||||||
|
override val defaultFileExtension: String
|
||||||
|
get() = ".kdb"
|
||||||
|
|
||||||
init {
|
init {
|
||||||
// New manual root because KDB contains multiple root groups (here available with getRootGroups())
|
// New manual root because KDB contains multiple root groups (here available with getRootGroups())
|
||||||
rootGroup = createGroup().apply {
|
rootGroup = createGroup().apply {
|
||||||
|
|||||||
@@ -201,6 +201,9 @@ class DatabaseKDBX : DatabaseVersioned<UUID, UUID, GroupKDBX, EntryKDBX> {
|
|||||||
return "V2 - KDBX$kdbxStringVersion"
|
return "V2 - KDBX$kdbxStringVersion"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override val defaultFileExtension: String
|
||||||
|
get() = ".kdbx"
|
||||||
|
|
||||||
private open class NodeOperationHandler<T: NodeKDBXInterface> : NodeHandler<T>() {
|
private open class NodeOperationHandler<T: NodeKDBXInterface> : NodeHandler<T>() {
|
||||||
var containsCustomData = false
|
var containsCustomData = false
|
||||||
override fun operate(node: T): Boolean {
|
override fun operate(node: T): Boolean {
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ abstract class DatabaseVersioned<
|
|||||||
protected set
|
protected set
|
||||||
|
|
||||||
abstract val version: String
|
abstract val version: String
|
||||||
|
abstract val defaultFileExtension: String
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To manage binaries in faster way
|
* To manage binaries in faster way
|
||||||
|
|||||||
Reference in New Issue
Block a user