mirror of
https://github.com/Kunzisoft/KeePassDX.git
synced 2025-12-04 15:49:33 +01:00
Fix notes in group
This commit is contained in:
@@ -204,9 +204,11 @@ class GroupActivity : LockingActivity(),
|
||||
|
||||
// Add listeners to the add buttons
|
||||
addNodeButtonView?.setAddGroupClickListener {
|
||||
GroupEditDialogFragment.build()
|
||||
.show(supportFragmentManager,
|
||||
GroupEditDialogFragment.TAG_CREATE_GROUP)
|
||||
GroupEditDialogFragment.create(GroupInfo().apply {
|
||||
if (mCurrentGroup?.allowAddNoteInGroup == true) {
|
||||
notes = ""
|
||||
}
|
||||
}).show(supportFragmentManager, GroupEditDialogFragment.TAG_CREATE_GROUP)
|
||||
}
|
||||
addNodeButtonView?.setAddEntryClickListener {
|
||||
mCurrentGroup?.let { currentGroup ->
|
||||
@@ -552,7 +554,7 @@ class GroupActivity : LockingActivity(),
|
||||
val addGroupEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true
|
||||
var addEntryEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true
|
||||
mCurrentGroup?.let {
|
||||
if (!it.allowAddEntryIfIsRoot())
|
||||
if (!it.allowAddEntryIfIsRoot)
|
||||
addEntryEnabled = it != mRootGroup && addEntryEnabled
|
||||
}
|
||||
enableAddGroup(addGroupEnabled)
|
||||
@@ -779,7 +781,7 @@ class GroupActivity : LockingActivity(),
|
||||
when (node.type) {
|
||||
Type.GROUP -> {
|
||||
mOldGroupToUpdate = node as Group
|
||||
GroupEditDialogFragment.build(mOldGroupToUpdate!!.getGroupInfo())
|
||||
GroupEditDialogFragment.update(mOldGroupToUpdate!!.getGroupInfo())
|
||||
.show(supportFragmentManager,
|
||||
GroupEditDialogFragment.TAG_CREATE_GROUP)
|
||||
}
|
||||
|
||||
@@ -113,8 +113,6 @@ class GroupEditDialogFragment : DialogFragment() {
|
||||
arguments?.apply {
|
||||
if (containsKey(KEY_ACTION_ID))
|
||||
mEditGroupDialogAction = EditGroupDialogAction.getActionFromOrdinal(getInt(KEY_ACTION_ID))
|
||||
if (mEditGroupDialogAction === CREATION)
|
||||
mGroupInfo.notes = ""
|
||||
if (containsKey(KEY_GROUP_INFO)) {
|
||||
mGroupInfo = getParcelable(KEY_GROUP_INFO) ?: mGroupInfo
|
||||
}
|
||||
@@ -241,15 +239,16 @@ class GroupEditDialogFragment : DialogFragment() {
|
||||
const val KEY_ACTION_ID = "KEY_ACTION_ID"
|
||||
const val KEY_GROUP_INFO = "KEY_GROUP_INFO"
|
||||
|
||||
fun build(): GroupEditDialogFragment {
|
||||
fun create(groupInfo: GroupInfo): GroupEditDialogFragment {
|
||||
val bundle = Bundle()
|
||||
bundle.putInt(KEY_ACTION_ID, CREATION.ordinal)
|
||||
bundle.putParcelable(KEY_GROUP_INFO, groupInfo)
|
||||
val fragment = GroupEditDialogFragment()
|
||||
fragment.arguments = bundle
|
||||
return fragment
|
||||
}
|
||||
|
||||
fun build(groupInfo: GroupInfo): GroupEditDialogFragment {
|
||||
fun update(groupInfo: GroupInfo): GroupEditDialogFragment {
|
||||
val bundle = Bundle()
|
||||
bundle.putInt(KEY_ACTION_ID, UPDATE.ordinal)
|
||||
bundle.putParcelable(KEY_GROUP_INFO, groupInfo)
|
||||
|
||||
@@ -348,9 +348,11 @@ class Group : Node, GroupVersionedInterface<Group, Entry> {
|
||||
groupKDBX?.removeChildren()
|
||||
}
|
||||
|
||||
override fun allowAddEntryIfIsRoot(): Boolean {
|
||||
return groupKDB?.allowAddEntryIfIsRoot() ?: groupKDBX?.allowAddEntryIfIsRoot() ?: false
|
||||
}
|
||||
val allowAddEntryIfIsRoot: Boolean
|
||||
get() = groupKDBX != null
|
||||
|
||||
val allowAddNoteInGroup: Boolean
|
||||
get() = groupKDBX != null
|
||||
|
||||
/*
|
||||
------------
|
||||
|
||||
@@ -82,10 +82,6 @@ class GroupKDB : GroupVersioned<Int, UUID, GroupKDB, EntryKDB>, NodeKDBInterface
|
||||
this.nodeId = NodeIdInt(groupId)
|
||||
}
|
||||
|
||||
override fun allowAddEntryIfIsRoot(): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@JvmField
|
||||
|
||||
@@ -125,10 +125,6 @@ class GroupKDBX : GroupVersioned<UUID, UUID, GroupKDBX, EntryKDBX>, NodeKDBXInte
|
||||
return customData.isNotEmpty()
|
||||
}
|
||||
|
||||
override fun allowAddEntryIfIsRoot(): Boolean {
|
||||
return true
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
@JvmField
|
||||
|
||||
@@ -38,8 +38,6 @@ interface GroupVersionedInterface<Group: GroupVersionedInterface<Group, Entry>,
|
||||
|
||||
fun removeChildren()
|
||||
|
||||
fun allowAddEntryIfIsRoot(): Boolean
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
fun doForEachChildAndForIt(entryHandler: NodeHandler<Entry>,
|
||||
groupHandler: NodeHandler<Group>) {
|
||||
|
||||
Reference in New Issue
Block a user