diff --git a/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt b/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt index 6a8873071..799505e59 100644 --- a/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt +++ b/app/src/main/java/com/kunzisoft/keepass/adapters/NodeAdapter.kt @@ -52,7 +52,8 @@ class NodeAdapter private var ascendingSort: Boolean = true private var groupsBeforeSort: Boolean = true private var recycleBinBottomSort: Boolean = true - private var showUserNames: Boolean = false + private var showUserNames: Boolean = true + private var showNumberEntries: Boolean = true private var nodeClickCallback: NodeClickCallback? = null private var nodeMenuListener: NodeMenuListener? = null @@ -129,6 +130,7 @@ class NodeAdapter this.groupsBeforeSort = PreferencesUtil.getGroupsBeforeSort(context) this.recycleBinBottomSort = PreferencesUtil.getRecycleBinBottomSort(context) this.showUserNames = PreferencesUtil.showUsernamesListEntries(context) + this.showNumberEntries = PreferencesUtil.showNumberEntries(context) } /** @@ -239,7 +241,14 @@ class NodeAdapter holder.text.textSize = textSize holder.subText.textSize = subtextSize if (subNode.type == Type.GROUP) { - holder.numberChildren?.text = (subNode as GroupVersioned).getChildEntries().size.toString() + if (showNumberEntries) { + holder.numberChildren?.apply { + text = (subNode as GroupVersioned).getChildEntries().size.toString() + visibility = View.VISIBLE + } + } else { + holder.numberChildren?.visibility = View.GONE + } } } diff --git a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt index 4493a23d8..d07d01aa0 100644 --- a/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt +++ b/app/src/main/java/com/kunzisoft/keepass/settings/PreferencesUtil.kt @@ -40,6 +40,12 @@ object PreferencesUtil { context.resources.getBoolean(R.bool.list_entries_show_username_default)) } + fun showNumberEntries(context: Context): Boolean { + val prefs = PreferenceManager.getDefaultSharedPreferences(context) + return prefs.getBoolean(context.getString(R.string.list_groups_show_number_entries_key), + context.resources.getBoolean(R.bool.list_groups_show_number_entries_default)) + } + /** * Retrieve the text size in SP, verify the integrity of the size stored in preference */ diff --git a/app/src/main/res/drawable/background_text_info.xml b/app/src/main/res/drawable/background_text_info.xml new file mode 100644 index 000000000..981df6281 --- /dev/null +++ b/app/src/main/res/drawable/background_text_info.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_list_nodes_entry.xml b/app/src/main/res/layout/item_list_nodes_entry.xml index 58f8f9d8b..68e237a15 100644 --- a/app/src/main/res/layout/item_list_nodes_entry.xml +++ b/app/src/main/res/layout/item_list_nodes_entry.xml @@ -20,6 +20,7 @@ @@ -61,6 +62,7 @@ android:id="@+id/node_text" android:layout_height="wrap_content" android:layout_width="wrap_content" + tools:text="Node Title" android:lines="1" android:singleLine="true" style="@style/KeepassDXStyle.TextAppearance.Default" /> @@ -69,6 +71,7 @@ android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_marginTop="-4dp" + tools:text="Node SubTitle" android:lines="1" android:singleLine="true" style="@style/KeepassDXStyle.TextAppearance.Secondary" /> diff --git a/app/src/main/res/layout/item_list_nodes_group.xml b/app/src/main/res/layout/item_list_nodes_group.xml index 5eba1c3ff..06095afb0 100644 --- a/app/src/main/res/layout/item_list_nodes_group.xml +++ b/app/src/main/res/layout/item_list_nodes_group.xml @@ -20,6 +20,7 @@ @@ -57,6 +58,17 @@ android:layout_centerVertical="true" android:layout_toRightOf="@+id/group_arrow" android:layout_toEndOf="@+id/group_arrow" /> + @@ -81,6 +94,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_vertical" + tools:text="Node SubTitle" android:layout_marginTop="-4dp" android:lines="1" android:singleLine="true" diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index a6044a72b..e072431ef 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -132,6 +132,8 @@ setting_icon_pack_choose_key list_entries_show_username_key true + list_groups_show_number_entries_key + true list_size monospace_font_extra_fields_enable_key true diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 692f41a03..388c78039 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -113,6 +113,8 @@ Length Show usernames Show usernames in entry lists + Show number of entries + Show the number of entries in a group Size of list items Text size in the element list Loading database… diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 31c54f0b1..7f4fcb79b 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -270,6 +270,13 @@ ?attr/colorAccent + +