Cockatrice 2026-06-01-Development-3.1.0-beta.3
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
dlg_filter_games.h
Go to the documentation of this file.
1
6
7#ifndef DLG_FILTER_GAMES_H
8#define DLG_FILTER_GAMES_H
9
10#include "../interface/widgets/server/games_model.h"
11
12#include <QCheckBox>
13#include <QComboBox>
14#include <QDialog>
15#include <QMap>
16#include <QSet>
17#include <QTime>
18
19class QCheckBox;
20class QComboBox;
21class QGroupBox;
22class QLineEdit;
23class QSpinBox;
24
25class DlgFilterGames : public QDialog
26{
27 Q_OBJECT
28private:
29 QGroupBox *generalGroupBox;
31 QCheckBox *hideFullGames;
39 QMap<int, QCheckBox *> gameTypeFilterCheckBoxes;
43
48
49 const QMap<int, QString> &allGameTypes;
51 const QMap<QTime, QString> gameAgeMap;
52
53 [[nodiscard]] QStringList getCreatorNameFilters() const;
54 [[nodiscard]] QSet<int> getGameTypeFilter() const;
55 [[nodiscard]] QTime getMaxGameAge() const;
56 [[nodiscard]] bool getShowSpectatorPasswordProtected() const;
57 [[nodiscard]] bool getShowOnlyIfSpectatorsCanChat() const;
58 [[nodiscard]] bool getShowOnlyIfSpectatorsCanSeeHands() const;
59
60private slots:
61 void actOk();
62 void toggleSpectatorCheckboxEnabledness(bool spectatorsEnabled);
63
64public:
65 DlgFilterGames(const QMap<int, QString> &_allGameTypes,
66 const GamesProxyModel *_gamesProxyModel,
67 QWidget *parent = nullptr);
68
69 [[nodiscard]] GameFilterConfigs getFilters() const;
70};
71
72#endif
bool getShowSpectatorPasswordProtected() const
Definition dlg_filter_games.cpp:246
QCheckBox * hidePasswordProtectedGames
Definition dlg_filter_games.h:33
QStringList getCreatorNameFilters() const
Definition dlg_filter_games.cpp:219
GameFilterConfigs getFilters() const
Definition dlg_filter_games.cpp:186
QCheckBox * hideFullGames
Definition dlg_filter_games.h:31
QCheckBox * hideBuddiesOnlyGames
Definition dlg_filter_games.h:30
DlgFilterGames(const QMap< int, QString > &_allGameTypes, const GamesProxyModel *_gamesProxyModel, QWidget *parent=nullptr)
Definition dlg_filter_games.cpp:14
QCheckBox * hideIgnoredUserGames
Definition dlg_filter_games.h:34
QCheckBox * showOnlyIfSpectatorsCanSeeHands
Definition dlg_filter_games.h:47
QComboBox * maxGameAgeComboBox
Definition dlg_filter_games.h:42
bool getShowOnlyIfSpectatorsCanSeeHands() const
Definition dlg_filter_games.cpp:256
QCheckBox * hideOpenDecklistGames
Definition dlg_filter_games.h:36
QMap< int, QCheckBox * > gameTypeFilterCheckBoxes
Definition dlg_filter_games.h:39
QCheckBox * hideGamesThatStarted
Definition dlg_filter_games.h:32
QCheckBox * showOnlyIfSpectatorsCanChat
Definition dlg_filter_games.h:46
void actOk()
Definition dlg_filter_games.cpp:207
const GamesProxyModel * gamesProxyModel
Definition dlg_filter_games.h:50
QLineEdit * creatorNameFilterEdit
Definition dlg_filter_games.h:38
void toggleSpectatorCheckboxEnabledness(bool spectatorsEnabled)
Definition dlg_filter_games.cpp:212
QSpinBox * maxPlayersFilterMinSpinBox
Definition dlg_filter_games.h:40
QCheckBox * hideNotBuddyCreatedGames
Definition dlg_filter_games.h:35
QCheckBox * showOnlyIfSpectatorsCanWatch
Definition dlg_filter_games.h:44
QCheckBox * showSpectatorPasswordProtected
Definition dlg_filter_games.h:45
QTime getMaxGameAge() const
Definition dlg_filter_games.cpp:237
QSet< int > getGameTypeFilter() const
Definition dlg_filter_games.cpp:224
const QMap< QTime, QString > gameAgeMap
Definition dlg_filter_games.h:51
QSpinBox * maxPlayersFilterMaxSpinBox
Definition dlg_filter_games.h:41
QGroupBox * generalGroupBox
Definition dlg_filter_games.h:29
QLineEdit * gameNameFilterEdit
Definition dlg_filter_games.h:37
bool getShowOnlyIfSpectatorsCanChat() const
Definition dlg_filter_games.cpp:251
const QMap< int, QString > & allGameTypes
Definition dlg_filter_games.h:49
Proxy model for filtering and sorting the GamesModel based on user preferences.
Definition games_model.h:113
The possible game filter configs.
Definition game_filter_configs.h:10