Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
visual_deck_display_options_widget.h
Go to the documentation of this file.
1#ifndef COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
2#define COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
3
5
6#include <QList>
7#include <QString>
8#include <QStringList>
9#include <QWidget>
10#include <qtmetamacros.h>
11
13class QComboBox;
14class QHBoxLayout;
15class QLabel;
16class QListWidget;
18
33class VisualDeckDisplayOptionsWidget : public QWidget
34{
35 Q_OBJECT
36signals:
41 void displayTypeChanged(const DisplayType &displayType);
42
48
53 void sortCriteriaChanged(const QStringList &activeSortCriteria);
54
55public slots:
61 void retranslateUi();
62 void updateCompactMode(bool mode);
63 int expandedWidth() const;
64 int compactWidth() const;
65
66public:
71 explicit VisualDeckDisplayOptionsWidget(QWidget *parent);
72
77 {
78 return currentDisplayType;
79 }
80
84 QString getActiveGroupCriteria() const
85 {
87 }
88
92 QStringList getActiveSortCriteria() const
93 {
94 return activeSortCriteria;
95 }
96
97private slots:
104
110 void updateDisplayType();
111
112private:
114 QHBoxLayout *groupAndSortLayout;
115
118
121
124
126 QComboBox *groupByComboBox;
127
129 QString activeGroupCriteria = "maintype";
130
133
135 QLabel *sortByLabel;
136
138 QLabel *sortLabel;
139
141 QListWidget *sortByListWidget;
142
144 QStringList activeSortCriteria = {"name", "cmc", "colors", "maintype"};
145};
146
147#endif // COCKATRICE_VISUAL_DECK_DISPLAY_OPTIONS_WIDGET_H
Definition compact_push_button.h:12
Definition settings_button_widget.h:21
QHBoxLayout * groupAndSortLayout
Layout for grouping and sorting UI elements.
Definition visual_deck_display_options_widget.h:114
SettingsButtonWidget * sortCriteriaButton
Encapsulates the sort settings widgets (label + list).
Definition visual_deck_display_options_widget.h:132
CompactPushButton * displayTypeButton
Button used to toggle the display layout.
Definition visual_deck_display_options_widget.h:120
DisplayType currentDisplayType
Current deck display type.
Definition visual_deck_display_options_widget.h:117
void updateCompactMode(bool mode)
Definition visual_deck_display_options_widget.cpp:149
void retranslateUi()
Updates all UI text for retranslation/localization.
Definition visual_deck_display_options_widget.cpp:106
QString getActiveGroupCriteria() const
Gets the currently active group-by criterion.
Definition visual_deck_display_options_widget.h:84
QLabel * sortLabel
Descriptive label inside the sort criteria button.
Definition visual_deck_display_options_widget.h:138
QLabel * sortByLabel
Label for "Sort by".
Definition visual_deck_display_options_widget.h:135
void groupCriteriaChanged(const QString &activeGroupCriteria)
Emitted when a new grouping criterion is selected.
void displayTypeChanged(const DisplayType &displayType)
Emitted when the display type (flat or overlapping layout) changes.
QString activeGroupCriteria
Currently active group-by criterion.
Definition visual_deck_display_options_widget.h:129
QStringList getActiveSortCriteria() const
Gets the currently active ordered sort criteria.
Definition visual_deck_display_options_widget.h:92
int compactWidth() const
Definition visual_deck_display_options_widget.cpp:161
QComboBox * groupByComboBox
Combo box listing group-by criteria.
Definition visual_deck_display_options_widget.h:126
VisualDeckDisplayOptionsWidget(QWidget *parent)
Constructs a new VisualDeckDisplayOptionsWidget.
Definition visual_deck_display_options_widget.cpp:26
int expandedWidth() const
Definition visual_deck_display_options_widget.cpp:154
QListWidget * sortByListWidget
Draggable list of sort criteria.
Definition visual_deck_display_options_widget.h:141
DisplayType getDisplayType() const
Gets the current display type (Overlap or Flat).
Definition visual_deck_display_options_widget.h:76
void updateDisplayType()
Toggles the display layout between flat and overlapping modes.
Definition visual_deck_display_options_widget.cpp:130
QStringList activeSortCriteria
Ordered list of current sort criteria.
Definition visual_deck_display_options_widget.h:144
void sortCriteriaChanged(const QStringList &activeSortCriteria)
Emitted when the order of sort criteria changes.
void onSortCriteriaChange()
Slot triggered whenever the sort list is reordered.
Definition visual_deck_display_options_widget.cpp:119
QLabel * groupByLabel
Label for the group-by selector.
Definition visual_deck_display_options_widget.h:123
DisplayType
Definition visual_deck_editor_widget.h:40
@ Overlap
Definition visual_deck_editor_widget.h:42