mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-14 01:54:47 -07:00
* refactored cardzone.cpp, added doc and changed if to switch case * started moving every files into different folders * remove undercase to match with other files naming convention * refactored dialog files * ran format.sh * refactored client/tabs folder * refactored client/tabs folder * refactored client/tabs folder * refactored client folder * refactored carddbparser * refactored dialogs * Create sonar-project.properties temporary file for lint * Create build.yml temporary file for lint * removed all files from root directory * removed all files from root directory * added current branch to workflow * fixed most broken import * fixed issues while renaming files * fixed oracle importer * fixed dbconverter * updated translations * made sub-folders for client * removed linter * removed linter folder * fixed oracle import * revert card_zone documentation * renamed db parser files name and deck_view imports * fixed dlg file issue * ran format file and fixed test file * fixed carddb test files * moved player folder in game * updated translations and format files * fixed peglib import * format cmake files * removing vcpkg to try to add it back later * tried fixing vcpkg file * renamed filter to filters and moved database parser to cards folder * reverted translation files * reverted oracle translated * Update cockatrice/src/dialogs/dlg_register.cpp Co-authored-by: tooomm <tooomm@users.noreply.github.com> * Update cockatrice/src/client/ui/window_main.cpp Co-authored-by: tooomm <tooomm@users.noreply.github.com> * removed empty line at file start * removed useless include from tab_supervisor.cpp * refactored cardzone.cpp, added doc and changed if to switch case * started moving every files into different folders * remove undercase to match with other files naming convention * refactored dialog files * ran format.sh * refactored client/tabs folder * refactored client folder * refactored carddbparser * refactored dialogs * removed all files from root directory * Create sonar-project.properties temporary file for lint * Create build.yml temporary file for lint * added current branch to workflow * fixed most broken import * fixed issues while renaming files * fixed oracle importer * fixed dbconverter * updated translations * made sub-folders for client * removed linter * removed linter folder * fixed oracle import * revert card_zone documentation * renamed db parser files name and deck_view imports * fixed dlg file issue * ran format file and fixed test file * fixed carddb test files * moved player folder in game * updated translations and format files * fixed peglib import * reverted translation files * format cmake files * removing vcpkg to try to add it back later * tried fixing vcpkg file * pre-updating of cockatrice changes * removed empty line at file start * reverted oracle translated * Update cockatrice/src/dialogs/dlg_register.cpp Co-authored-by: tooomm <tooomm@users.noreply.github.com> * Update cockatrice/src/client/ui/window_main.cpp Co-authored-by: tooomm <tooomm@users.noreply.github.com> * removed useless include from tab_supervisor.cpp --------- Co-authored-by: tooomm <tooomm@users.noreply.github.com>
69 lines
1.9 KiB
C++
69 lines
1.9 KiB
C++
#ifndef GAMESELECTOR_H
|
|
#define GAMESELECTOR_H
|
|
|
|
#include "game_type_map.h"
|
|
|
|
#include <QGroupBox>
|
|
#include <common/pb/event_add_to_list.pb.h>
|
|
#include <common/pb/event_remove_from_list.pb.h>
|
|
|
|
class QTreeView;
|
|
class GamesModel;
|
|
class GamesProxyModel;
|
|
class QPushButton;
|
|
class QCheckBox;
|
|
class QLabel;
|
|
class AbstractClient;
|
|
class TabSupervisor;
|
|
class TabRoom;
|
|
class ServerInfo_Game;
|
|
class Response;
|
|
|
|
class GameSelector : public QGroupBox
|
|
{
|
|
Q_OBJECT
|
|
private slots:
|
|
void actSetFilter();
|
|
void actClearFilter();
|
|
void actCreate();
|
|
void actJoin();
|
|
void actSelectedGameChanged(const QModelIndex ¤t, const QModelIndex &previous);
|
|
void checkResponse(const Response &response);
|
|
|
|
void ignoreListReceived(const QList<ServerInfo_User> &_ignoreList);
|
|
void processAddToListEvent(const Event_AddToList &event);
|
|
void processRemoveFromListEvent(const Event_RemoveFromList &event);
|
|
signals:
|
|
void gameJoined(int gameId);
|
|
|
|
private:
|
|
AbstractClient *client;
|
|
TabSupervisor *tabSupervisor;
|
|
TabRoom *room;
|
|
|
|
QTreeView *gameListView;
|
|
GamesModel *gameListModel;
|
|
GamesProxyModel *gameListProxyModel;
|
|
QPushButton *filterButton, *clearFilterButton, *createButton, *joinButton, *spectateButton;
|
|
const bool showFilters;
|
|
GameTypeMap gameTypeMap;
|
|
|
|
void updateTitle();
|
|
void disableButtons();
|
|
void enableButtons();
|
|
void enableButtonsForIndex(const QModelIndex ¤t);
|
|
|
|
public:
|
|
GameSelector(AbstractClient *_client,
|
|
TabSupervisor *_tabSupervisor,
|
|
TabRoom *_room,
|
|
const QMap<int, QString> &_rooms,
|
|
const QMap<int, GameTypeMap> &_gameTypes,
|
|
const bool restoresettings,
|
|
const bool _showfilters,
|
|
QWidget *parent = nullptr);
|
|
void retranslateUi();
|
|
void processGameInfo(const ServerInfo_Game &info);
|
|
};
|
|
|
|
#endif
|