mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-08-24 16:30:44 +00:00
cc8451f764
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>
36 lines
845 B
C++
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);
|
|
};
|