2017-01-01 13:00:15 +01:00
|
|
|
package org.mariotaku.twidere.extension
|
|
|
|
|
|
|
|
import android.view.Menu
|
|
|
|
import android.widget.ListView
|
|
|
|
import org.mariotaku.ktextension.setItemAvailability
|
|
|
|
import org.mariotaku.twidere.R
|
|
|
|
|
|
|
|
fun ListView.selectAll() {
|
|
|
|
for (i in 0 until count) {
|
|
|
|
setItemChecked(i, true)
|
|
|
|
}
|
2017-01-31 14:10:20 +01:00
|
|
|
|
2017-01-01 13:00:15 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
fun ListView.selectNone() {
|
|
|
|
for (i in 0 until count) {
|
|
|
|
setItemChecked(i, false)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fun ListView.invertSelection() {
|
|
|
|
val positions = checkedItemPositions
|
|
|
|
for (i in 0 until count) {
|
|
|
|
setItemChecked(i, !positions.get(i))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fun ListView.updateSelectionItems(menu: Menu) {
|
|
|
|
val checkedCount = checkedItemCount
|
|
|
|
val listCount = count
|
|
|
|
menu.setItemAvailability(R.id.select_none, checkedCount > 0)
|
|
|
|
menu.setItemAvailability(R.id.select_all, checkedCount < listCount)
|
2020-06-08 23:07:20 +02:00
|
|
|
menu.setItemAvailability(R.id.invert_selection, checkedCount in 1 until listCount)
|
2017-01-31 14:10:20 +01:00
|
|
|
}
|