Fix notes in group

This commit is contained in:
J-Jamet
2021-03-08 20:07:16 +01:00
parent 7feb499d50
commit c7cba3f50b
6 changed files with 15 additions and 22 deletions

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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
/*
------------

View File

@@ -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

View File

@@ -125,10 +125,6 @@ class GroupKDBX : GroupVersioned<UUID, UUID, GroupKDBX, EntryKDBX>, NodeKDBXInte
return customData.isNotEmpty()
}
override fun allowAddEntryIfIsRoot(): Boolean {
return true
}
companion object {
@JvmField

View File

@@ -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>) {