aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/game/game_tree.h
blob: e4417803aa7a858002c18e12ca1c2eab3cbceb8d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later

#pragma once

#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);
};