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 // Add listeners to the add buttons
addNodeButtonView?.setAddGroupClickListener { addNodeButtonView?.setAddGroupClickListener {
GroupEditDialogFragment.build() GroupEditDialogFragment.create(GroupInfo().apply {
.show(supportFragmentManager, if (mCurrentGroup?.allowAddNoteInGroup == true) {
GroupEditDialogFragment.TAG_CREATE_GROUP) notes = ""
}
}).show(supportFragmentManager, GroupEditDialogFragment.TAG_CREATE_GROUP)
} }
addNodeButtonView?.setAddEntryClickListener { addNodeButtonView?.setAddEntryClickListener {
mCurrentGroup?.let { currentGroup -> mCurrentGroup?.let { currentGroup ->
@@ -552,7 +554,7 @@ class GroupActivity : LockingActivity(),
val addGroupEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true val addGroupEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true
var addEntryEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true var addEntryEnabled = !mReadOnly && mCurrentGroup?.isVirtual != true
mCurrentGroup?.let { mCurrentGroup?.let {
if (!it.allowAddEntryIfIsRoot()) if (!it.allowAddEntryIfIsRoot)
addEntryEnabled = it != mRootGroup && addEntryEnabled addEntryEnabled = it != mRootGroup && addEntryEnabled
} }
enableAddGroup(addGroupEnabled) enableAddGroup(addGroupEnabled)
@@ -779,7 +781,7 @@ class GroupActivity : LockingActivity(),
when (node.type) { when (node.type) {
Type.GROUP -> { Type.GROUP -> {
mOldGroupToUpdate = node as Group mOldGroupToUpdate = node as Group
GroupEditDialogFragment.build(mOldGroupToUpdate!!.getGroupInfo()) GroupEditDialogFragment.update(mOldGroupToUpdate!!.getGroupInfo())
.show(supportFragmentManager, .show(supportFragmentManager,
GroupEditDialogFragment.TAG_CREATE_GROUP) GroupEditDialogFragment.TAG_CREATE_GROUP)
} }

View File

@@ -113,8 +113,6 @@ class GroupEditDialogFragment : DialogFragment() {
arguments?.apply { arguments?.apply {
if (containsKey(KEY_ACTION_ID)) if (containsKey(KEY_ACTION_ID))
mEditGroupDialogAction = EditGroupDialogAction.getActionFromOrdinal(getInt(KEY_ACTION_ID)) mEditGroupDialogAction = EditGroupDialogAction.getActionFromOrdinal(getInt(KEY_ACTION_ID))
if (mEditGroupDialogAction === CREATION)
mGroupInfo.notes = ""
if (containsKey(KEY_GROUP_INFO)) { if (containsKey(KEY_GROUP_INFO)) {
mGroupInfo = getParcelable(KEY_GROUP_INFO) ?: mGroupInfo mGroupInfo = getParcelable(KEY_GROUP_INFO) ?: mGroupInfo
} }
@@ -241,15 +239,16 @@ class GroupEditDialogFragment : DialogFragment() {
const val KEY_ACTION_ID = "KEY_ACTION_ID" const val KEY_ACTION_ID = "KEY_ACTION_ID"
const val KEY_GROUP_INFO = "KEY_GROUP_INFO" const val KEY_GROUP_INFO = "KEY_GROUP_INFO"
fun build(): GroupEditDialogFragment { fun create(groupInfo: GroupInfo): GroupEditDialogFragment {
val bundle = Bundle() val bundle = Bundle()
bundle.putInt(KEY_ACTION_ID, CREATION.ordinal) bundle.putInt(KEY_ACTION_ID, CREATION.ordinal)
bundle.putParcelable(KEY_GROUP_INFO, groupInfo)
val fragment = GroupEditDialogFragment() val fragment = GroupEditDialogFragment()
fragment.arguments = bundle fragment.arguments = bundle
return fragment return fragment
} }
fun build(groupInfo: GroupInfo): GroupEditDialogFragment { fun update(groupInfo: GroupInfo): GroupEditDialogFragment {
val bundle = Bundle() val bundle = Bundle()
bundle.putInt(KEY_ACTION_ID, UPDATE.ordinal) bundle.putInt(KEY_ACTION_ID, UPDATE.ordinal)
bundle.putParcelable(KEY_GROUP_INFO, groupInfo) bundle.putParcelable(KEY_GROUP_INFO, groupInfo)

View File

@@ -348,9 +348,11 @@ class Group : Node, GroupVersionedInterface<Group, Entry> {
groupKDBX?.removeChildren() groupKDBX?.removeChildren()
} }
override fun allowAddEntryIfIsRoot(): Boolean { val allowAddEntryIfIsRoot: Boolean
return groupKDB?.allowAddEntryIfIsRoot() ?: groupKDBX?.allowAddEntryIfIsRoot() ?: false 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) this.nodeId = NodeIdInt(groupId)
} }
override fun allowAddEntryIfIsRoot(): Boolean {
return false
}
companion object { companion object {
@JvmField @JvmField

View File

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

View File

@@ -38,8 +38,6 @@ interface GroupVersionedInterface<Group: GroupVersionedInterface<Group, Entry>,
fun removeChildren() fun removeChildren()
fun allowAddEntryIfIsRoot(): Boolean
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
fun doForEachChildAndForIt(entryHandler: NodeHandler<Entry>, fun doForEachChildAndForIt(entryHandler: NodeHandler<Entry>,
groupHandler: NodeHandler<Group>) { groupHandler: NodeHandler<Group>) {