mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-11-08 13:01:05 +01:00
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>
52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include <QWidget>
|
|
|
|
class GameList;
|
|
class QHBoxLayout;
|
|
class QTreeView;
|
|
class QLabel;
|
|
class QLineEdit;
|
|
class QToolButton;
|
|
|
|
class GameListSearchField : public QWidget {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit GameListSearchField(GameList* parent = nullptr);
|
|
|
|
QString filterText() const;
|
|
void setFilterResult(int visible_, int total_);
|
|
|
|
void clear();
|
|
void setFocus();
|
|
|
|
private:
|
|
void changeEvent(QEvent*) override;
|
|
void RetranslateUI();
|
|
|
|
class KeyReleaseEater : public QObject {
|
|
public:
|
|
explicit KeyReleaseEater(GameList* gamelist_, QObject* parent = nullptr);
|
|
|
|
private:
|
|
GameList* gamelist = nullptr;
|
|
QString edit_filter_text_old;
|
|
|
|
protected:
|
|
// EventFilter in order to process systemkeys while editing the searchfield
|
|
bool eventFilter(QObject* obj, QEvent* event) override;
|
|
};
|
|
int visible;
|
|
int total;
|
|
|
|
QHBoxLayout* layout_filter = nullptr;
|
|
QTreeView* tree_view = nullptr;
|
|
QLabel* label_filter = nullptr;
|
|
QLineEdit* edit_filter = nullptr;
|
|
QLabel* label_filter_result = nullptr;
|
|
QToolButton* button_filter_close = nullptr;
|
|
};
|