Files
eden/src/yuzu/game/game_tree.h
T
crueter cc8451f764 [desktop] Rework game list to use MVP architecture (#4042)
Closes #3480

moves the game list model/worker/private stuff to qt_common for later
use in QML

- `qt_common/game_list/model.{cpp,h}` is the model
- `yuzu/game/game_{grid,tree}.*` are the views
- `yuzu/game/game_list.cpp` is the presenter

This was done very lazily in a manner that "works" while largely
maintaining existing structure as much as possible. Most of it is
copy-paste, with some bonus reworks/cleanups thrown in.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4042
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-02 04:08:24 +02:00

36 lines
845 B
C++

// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include <QHeaderView>
#include <QString>
#include <QTreeView>
class GameListModel;
class GameTree : public QTreeView {
Q_OBJECT
public:
explicit GameTree(QWidget* parent = nullptr);
void SetModel(GameListModel* model);
QString GetLastFilterResultItem() const;
int FilterClosedResultCount(GameListModel* model);
void ApplyFilter(const QString& edit_filter_text, GameListModel* model);
void SaveInterfaceLayout();
void LoadInterfaceLayout();
void UpdateColumnVisibility(GameListModel* model);
signals:
void ItemExpandedChanged(const QModelIndex& item);
void FilterResultReady(int visible, int total);
private slots:
void OnItemExpanded(const QModelIndex& item);
};