diff --git a/rpcs3/Emu/RSX/overlay_controls.h b/rpcs3/Emu/RSX/overlay_controls.h index 2046c0ae81..4a148f1fc6 100644 --- a/rpcs3/Emu/RSX/overlay_controls.h +++ b/rpcs3/Emu/RSX/overlay_controls.h @@ -1331,6 +1331,8 @@ namespace rsx s16 m_selected_entry = -1; u16 m_elements_count = 0; + bool m_cancel_only = false; + public: list_view(u16 width, u16 height) { @@ -1461,6 +1463,17 @@ namespace rsx return m_items[m_selected_entry]->text; } + void set_cancel_only(bool cancel_only) + { + if (cancel_only) + m_cancel_btn->set_pos(x + 30, y + h + 20); + else + m_cancel_btn->set_pos(x + 180, y + h + 20); + + m_cancel_only = cancel_only; + is_compiled = false; + } + void translate(s16 _x, s16 _y) override { layout_container::translate(_x, _y); @@ -1478,9 +1491,11 @@ namespace rsx compiled.add(m_highlight_box->get_compiled()); compiled.add(m_scroll_indicator_top->get_compiled()); compiled.add(m_scroll_indicator_bottom->get_compiled()); - compiled.add(m_accept_btn->get_compiled()); compiled.add(m_cancel_btn->get_compiled()); + if (!m_cancel_only) + compiled.add(m_accept_btn->get_compiled()); + compiled_resources = compiled; } diff --git a/rpcs3/Emu/RSX/overlays.h b/rpcs3/Emu/RSX/overlays.h index 8539186d0e..45c89ba92a 100644 --- a/rpcs3/Emu/RSX/overlays.h +++ b/rpcs3/Emu/RSX/overlays.h @@ -254,6 +254,7 @@ namespace rsx std::unique_ptr m_list; std::unique_ptr