Skip to content

Commit 2503a9d

Browse files
committed
Add list menu selection toggle on menu item click
1 parent d5a4838 commit 2503a9d

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

aztec/src/main/kotlin/org/wordpress/aztec/toolbar/AztecToolbar.kt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,8 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
189189
}
190190

191191
override fun onMenuItemClick(item: MenuItem?): Boolean {
192-
item?.isChecked = (item?.isChecked == false)
192+
val checked = (item?.isChecked == false)
193+
item?.isChecked = checked
193194

194195
when (item?.itemId) {
195196
// Heading Menu
@@ -236,10 +237,12 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
236237
// List Menu
237238
R.id.list_ordered -> {
238239
editor?.toggleFormatting(TextFormat.FORMAT_ORDERED_LIST)
240+
toggleListMenuSelection(item.itemId, checked)
239241
return true
240242
}
241243
R.id.list_unordered -> {
242244
editor?.toggleFormatting(TextFormat.FORMAT_UNORDERED_LIST)
245+
toggleListMenuSelection(item.itemId, checked)
243246
return true
244247
}
245248
else -> return false
@@ -524,6 +527,23 @@ class AztecToolbar : FrameLayout, OnMenuItemClickListener {
524527
}
525528
}
526529

530+
private fun toggleListMenuSelection(listMenuItemId: Int, isChecked: Boolean) {
531+
if (isChecked) {
532+
listMenu?.menu?.findItem(listMenuItemId)?.isChecked = true
533+
534+
when (listMenuItemId) {
535+
R.id.list_ordered -> setListMenuSelector(TextFormat.FORMAT_ORDERED_LIST)
536+
R.id.list_unordered -> setListMenuSelector(TextFormat.FORMAT_UNORDERED_LIST)
537+
else -> setListMenuSelector(TextFormat.FORMAT_UNORDERED_LIST) // Use unordered list selector by default.
538+
}
539+
} else {
540+
listMenu?.menu?.findItem(R.id.list_none)?.isChecked = true
541+
542+
// Use unordered list selector by default.
543+
setListMenuSelector(TextFormat.FORMAT_UNORDERED_LIST)
544+
}
545+
}
546+
527547
fun enableFormatButtons(isEnabled: Boolean) {
528548
ToolbarAction.values().forEach { action ->
529549
if (action != ToolbarAction.HTML) {

0 commit comments

Comments
 (0)