overlays: allow to go to begin/end of list without auto repeat
This commit is contained in:
@@ -215,12 +215,24 @@ namespace rsx
|
|||||||
case pad_button::dpad_up:
|
case pad_button::dpad_up:
|
||||||
case pad_button::ls_up:
|
case pad_button::ls_up:
|
||||||
{
|
{
|
||||||
|
if (!is_auto_repeat && get_selected_index() <= 0)
|
||||||
|
{
|
||||||
|
select_entry(get_elements_count() - 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
select_previous();
|
select_previous();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case pad_button::dpad_down:
|
case pad_button::dpad_down:
|
||||||
case pad_button::ls_down:
|
case pad_button::ls_down:
|
||||||
{
|
{
|
||||||
|
if (!is_auto_repeat && get_selected_index() >= (get_elements_count() - 1))
|
||||||
|
{
|
||||||
|
select_entry(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
select_next();
|
select_next();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,7 +189,12 @@ namespace rsx
|
|||||||
update_selection();
|
update_selection();
|
||||||
}
|
}
|
||||||
|
|
||||||
int list_view::get_selected_index() const
|
u16 list_view::get_elements_count() const
|
||||||
|
{
|
||||||
|
return m_elements_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 list_view::get_selected_index() const
|
||||||
{
|
{
|
||||||
return m_selected_entry;
|
return m_selected_entry;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ namespace rsx
|
|||||||
|
|
||||||
void add_entry(std::unique_ptr<overlay_element>& entry);
|
void add_entry(std::unique_ptr<overlay_element>& entry);
|
||||||
|
|
||||||
int get_selected_index() const;
|
u16 get_elements_count() const;
|
||||||
|
s32 get_selected_index() const;
|
||||||
bool get_cancel_only() const;
|
bool get_cancel_only() const;
|
||||||
const overlay_element* get_selected_entry() const;
|
const overlay_element* get_selected_entry() const;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user