diff options
| author | crueter <crueter@eden-emu.dev> | 2026-06-22 21:04:47 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-06-22 21:04:47 +0200 |
| commit | 39be450fa3a7248f7dde73dfe91d2f0447a155dd (patch) | |
| tree | b508f83c056280b1d5fb5365c6ab4e551c5a1a95 /src/yuzu/game/game_grid.cpp | |
| parent | 68aaea60855d7791480a546b8888e123e083ca1a (diff) | |
[desktop] Add basic carousel view (#4112)
Adds a basic carousel view, or essentially a horizontal list a la Android/Qt Quick.
Lacks a lot of niceties like autoscroll, smooth shifts, etc. Will work on those later
Also fixed a bug introduced recently that capped game icon size to 8 at the low end, breaking the None option
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4112
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/yuzu/game/game_grid.cpp')
| -rw-r--r-- | src/yuzu/game/game_grid.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/yuzu/game/game_grid.cpp b/src/yuzu/game/game_grid.cpp index ab8a3d8bfe..c5f77cf897 100644 --- a/src/yuzu/game/game_grid.cpp +++ b/src/yuzu/game/game_grid.cpp @@ -25,8 +25,6 @@ GameGrid::GameGrid(QWidget* parent) : QListView{parent} { setEditTriggers(QAbstractItemView::NoEditTriggers); setContextMenuPolicy(Qt::CustomContextMenu); - setGridSize(QSize(140, 160)); - m_gameCard->setSize(gridSize(), 0, 4); setSpacing(10); setWordWrap(true); @@ -97,8 +95,17 @@ void GameGrid::UpdateIconSize() { setUpdatesEnabled(false); setGridSize(grid_size); - m_gameCard->setSize(grid_size, stretched_width - min_item_width, columns); + m_gameCard->setSize(grid_size, grid_size, stretched_width - min_item_width, columns); setUpdatesEnabled(true); } } + +QModelIndex GameGrid::indexAt(const QPoint& point) const { + QModelIndex index = QListView::indexAt(point); + if (!index.isValid()) + return {}; + if (m_gameCard && !m_gameCard->hitTest(point, index, this, visualRect(index))) + return {}; + return index; +} |
