43 lines
1.1 KiB
C++
43 lines
1.1 KiB
C++
#pragma once
|
|
#include <QMap>
|
|
#include <QString>
|
|
#include <QWidget>
|
|
|
|
class QLabel;
|
|
class QLineEdit;
|
|
class QListWidget;
|
|
class QPushButton;
|
|
|
|
class GamesPanel : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
explicit GamesPanel(QWidget *parent = nullptr);
|
|
void loadFromResponse(const QString &response); // GAM list (installed)
|
|
void loadAllFromResponse(const QString &response); // GAM listall (full catalogue)
|
|
|
|
signals:
|
|
void commandRequested(const QString &cmd);
|
|
|
|
private slots:
|
|
void onAddClicked();
|
|
void onStartClicked();
|
|
|
|
private:
|
|
void rebuildAvailable();
|
|
|
|
// Left pane
|
|
QListWidget *m_availableList = nullptr;
|
|
QPushButton *m_addBtn = nullptr;
|
|
|
|
// Right pane
|
|
QListWidget *m_installedList = nullptr;
|
|
QLineEdit *m_timeEdit = nullptr;
|
|
QLineEdit *m_countdownEdit = nullptr;
|
|
QPushButton *m_startBtn = nullptr;
|
|
QPushButton *m_stopBtn = nullptr;
|
|
|
|
QMap<QString,QString> m_allGames; // name -> code (GAM listall)
|
|
QMap<QString,QString> m_installedGames; // name -> code (GAM list)
|
|
};
|