From d7e12d9c50e0d623fc48aeb2c99782f5170e517b Mon Sep 17 00:00:00 2001 From: Phil Coulson Date: Mon, 11 May 2026 15:27:34 +0800 Subject: [PATCH] gui: Play preview videos on row selection, not just hover Previously, game list preview videos/GIFs were only triggered by mouse hover events. This meant that users navigating the game list via keyboard or gamepad would never see the preview animations. Connect to currentCellChanged to also activate/deactivate the movie item when the selected row changes, providing visual feedback for all input methods. Fixes #18315 --- rpcs3/rpcs3qt/game_list.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/rpcs3/rpcs3qt/game_list.cpp b/rpcs3/rpcs3qt/game_list.cpp index 70089d650e..846ab5863e 100644 --- a/rpcs3/rpcs3qt/game_list.cpp +++ b/rpcs3/rpcs3qt/game_list.cpp @@ -12,6 +12,27 @@ game_list::game_list() : QTableWidget(), game_list_base() { Q_EMIT IconReady(game, item); }; + + // Activate video/music preview on selection change (keyboard/pad navigation) + connect(this, &QTableWidget::currentCellChanged, this, [this](int row, int /*column*/, int prev_row, int /*prev_column*/) + { + if (row == prev_row) + return; + + if (m_last_hover_item) + { + m_last_hover_item->set_active(false); + } + + movie_item* new_item = static_cast(item(row, 0)); + + if (new_item) + { + new_item->set_active(true); + } + + m_last_hover_item = new_item; + }); } void game_list::sync_header_actions(std::map& actions, std::function get_visibility)