Skip to content

Commit 451c7bb

Browse files
committed
add a cab button for editing checklist items
1 parent 8bba5eb commit 451c7bb

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/ChecklistAdapter.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
2828
initDrawables()
2929
}
3030

31-
override fun getActionMenuId() = R.menu.cab_delete_only
31+
override fun getActionMenuId() = R.menu.cab_checklist
3232

3333
override fun actionItemPressed(id: Int) {
3434
if (selectedKeys.isEmpty()) {
3535
return
3636
}
3737

3838
when (id) {
39+
R.id.cab_edit -> editNote()
3940
R.id.cab_delete -> deleteSelection()
4041
}
4142
}
@@ -48,7 +49,14 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
4849

4950
override fun getItemKeyPosition(key: Int) = items.indexOfFirst { it.id == key }
5051

51-
override fun prepareActionMode(menu: Menu) {}
52+
override fun prepareActionMode(menu: Menu) {
53+
val selectedItems = getSelectedItems()
54+
if (selectedItems.isEmpty()) {
55+
return
56+
}
57+
58+
menu.findItem(R.id.cab_edit).isVisible = isOneItemSelected()
59+
}
5260

5361
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.item_checklist, parent)
5462

@@ -68,6 +76,10 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
6876
checkDrawable = res.getColoredDrawableWithColor(R.drawable.ic_check_big, res.getColor(R.color.md_green_700))
6977
}
7078

79+
private fun editNote() {
80+
81+
}
82+
7183
private fun deleteSelection() {
7284
val removeItems = ArrayList<ChecklistItem>(selectedKeys.size)
7385
val positions = ArrayList<Int>()
@@ -96,6 +108,8 @@ class ChecklistAdapter(activity: BaseSimpleActivity, var items: ArrayList<Checkl
96108

97109
private fun getItemWithKey(key: Int): ChecklistItem? = items.firstOrNull { it.id == key }
98110

111+
private fun getSelectedItems() = items.filter { selectedKeys.contains(it.id) } as ArrayList<ChecklistItem>
112+
99113
private fun setupView(view: View, checklistItem: ChecklistItem) {
100114
val isSelected = selectedKeys.contains(checklistItem.id)
101115
view.apply {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<menu xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:app="http://schemas.android.com/apk/res-auto">
4+
<item
5+
android:id="@+id/cab_edit"
6+
android:icon="@drawable/ic_edit"
7+
android:title="@string/rename"
8+
app:showAsAction="ifRoom"/>
9+
<item
10+
android:id="@+id/cab_delete"
11+
android:icon="@drawable/ic_delete"
12+
android:title="@string/delete"
13+
app:showAsAction="ifRoom"/>
14+
</menu>

0 commit comments

Comments
 (0)