mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Fix delete/close of todoist
Currently, when deleting, we jump 2 positions, since we are calling next. However, the next item becomes the current selected position, so handle better Properly set selected in some edge cases where we may go from a list to 0
This commit is contained in:
@@ -35,6 +35,9 @@ func (widget *ScrollableWidget) SetRenderFunction(displayFunc func()) {
|
||||
|
||||
func (widget *ScrollableWidget) SetItemCount(items int) {
|
||||
widget.maxItems = items
|
||||
if items == 0 {
|
||||
widget.Selected = -1
|
||||
}
|
||||
}
|
||||
|
||||
func (widget *ScrollableWidget) GetSelected() int {
|
||||
@@ -54,6 +57,9 @@ func (widget *ScrollableWidget) Next() {
|
||||
if widget.Selected >= widget.maxItems {
|
||||
widget.Selected = 0
|
||||
}
|
||||
if widget.maxItems == 0 {
|
||||
widget.Selected = -1
|
||||
}
|
||||
widget.RenderFunction()
|
||||
}
|
||||
|
||||
@@ -62,6 +68,9 @@ func (widget *ScrollableWidget) Prev() {
|
||||
if widget.Selected < 0 {
|
||||
widget.Selected = widget.maxItems - 1
|
||||
}
|
||||
if widget.maxItems == 0 {
|
||||
widget.Selected = -1
|
||||
}
|
||||
widget.RenderFunction()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user