rpcs3/rpcs3/rpcs3qt/game_list.h
2023-05-18 15:26:05 +02:00

49 lines
1.1 KiB
C++

#pragma once
#include <QAction>
#include <QList>
#include <QTableWidget>
#include <QMouseEvent>
#include <QKeyEvent>
#include "game_list_base.h"
#include "util/atomic.hpp"
#include <functional>
class movie_item;
/*
class used in order to get deselection and hover change
if you know a simpler way, tell @Megamouse
*/
class game_list : public QTableWidget, public game_list_base
{
Q_OBJECT
public:
game_list();
void create_header_actions(QList<QAction*>& actions, std::function<bool(int)> get_visibility, std::function<void(int, bool)> set_visibility);
void clear_list() override; // Use this instead of clearContents
/** Fix columns with width smaller than the minimal section size */
void fix_narrow_columns();
public Q_SLOTS:
void FocusAndSelectFirstEntryIfNoneIs();
Q_SIGNALS:
void FocusToSearchBar();
void IconReady(const game_info& game);
protected:
movie_item* m_last_hover_item = nullptr;
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *event) override;
void keyPressEvent(QKeyEvent *event) override;
void leaveEvent(QEvent *event) override;
};