Cockatrice 2026-09-01-Development-3.1.0-beta.10
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
visual_deck_storage_widget.h
Go to the documentation of this file.
1
5
6#ifndef VISUAL_DECK_STORAGE_WIDGET_H
7#define VISUAL_DECK_STORAGE_WIDGET_H
8
11
12#include <QHBoxLayout>
13#include <QScrollArea>
14#include <QToolButton>
15#include <QVBoxLayout>
16#include <QWidget>
17
18class QLabel;
19class QResizeEvent;
20class QShowEvent;
21class QTimer;
28
29class VisualDeckStorageWidget final : public QWidget
30{
31 Q_OBJECT
32public:
33 explicit VisualDeckStorageWidget(QWidget *parent);
34 void refreshIfPossible();
35 void retranslateUi();
36
39
40 [[nodiscard]] const VisualDeckStorageQuickSettingsWidget *settings() const;
41 [[nodiscard]] VisualDeckStorageModel *model() const
42 {
43 return storageModel;
44 }
46 {
47 return storageProxyModel;
48 }
49
50public slots:
55 void updateShowFolders(bool enabled);
56 void updateTagsVisibility(bool visible);
57 void updateSelectionAnimationEnabled(bool enabled);
58 void updateSortOrder();
59 void updateTagFilter();
60 void updateColorFilter();
61 void updateSearchFilter(const QString &text);
62
63signals:
64 void deckLoadRequested(const QString &filePath);
65 void openDeckEditor(const LoadedDeck &deck);
66
67protected:
68 void resizeEvent(QResizeEvent *event) override;
69 void showEvent(QShowEvent *event) override;
70
71private:
73
74private:
75 QVBoxLayout *layout;
77 QHBoxLayout *searchAndSortLayout;
82 QToolButton *refreshButton;
84 QScrollArea *scrollArea;
88 QTimer *refreshTimer = nullptr;
89};
90
91#endif // VISUAL_DECK_STORAGE_WIDGET_H
Definition deck_preview_color_identity_filter_widget.h:20
Definition visual_deck_storage_folder_display_widget.h:32
The list model backing the Visual Deck Storage widget tree.
Definition visual_deck_storage_model.h:97
Definition visual_deck_storage_quick_settings_widget.h:21
Definition visual_deck_storage_search_widget.h:16
Definition visual_deck_storage_sort_filter_proxy_model.h:25
Definition visual_deck_storage_sort_widget.h:17
Definition visual_deck_storage_tag_filter_widget.h:16
void reapplySortAndFilters()
Definition visual_deck_storage_widget.cpp:173
VisualDeckStorageModel * model() const
Definition visual_deck_storage_widget.h:41
void retranslateUi()
Definition visual_deck_storage_widget.cpp:152
VisualDeckStorageModel * storageModel
Definition visual_deck_storage_widget.h:86
QHBoxLayout * searchAndSortLayout
Definition visual_deck_storage_widget.h:77
const VisualDeckStorageQuickSettingsWidget * settings() const
Definition visual_deck_storage_widget.cpp:165
VisualDeckStorageTagFilterWidget * tagFilterWidget
Definition visual_deck_storage_widget.h:37
QVBoxLayout * layout
Definition visual_deck_storage_widget.h:75
bool deckPreviewSelectionAnimationEnabled
Definition visual_deck_storage_widget.h:38
void refreshIfPossible()
Definition visual_deck_storage_widget.cpp:127
VisualDeckStorageQuickSettingsWidget * quickSettingsWidget
Definition visual_deck_storage_widget.h:83
QToolButton * refreshButton
Definition visual_deck_storage_widget.h:82
QLabel * databaseLoadIndicator
Definition visual_deck_storage_widget.h:78
void updateSortOrder()
Definition visual_deck_storage_widget.cpp:204
void updateColorFilter()
Definition visual_deck_storage_widget.cpp:222
void updateSearchFilter(const QString &text)
Definition visual_deck_storage_widget.cpp:231
void resizeEvent(QResizeEvent *event) override
Definition visual_deck_storage_widget.cpp:143
void openDeckEditor(const LoadedDeck &deck)
void createRootFolderWidget()
Starts scanning the deck folder and rebuilds the folder tree and previews.
Definition visual_deck_storage_widget.cpp:182
void showEvent(QShowEvent *event) override
Definition visual_deck_storage_widget.cpp:134
VisualDeckStorageSearchWidget * searchWidget
Definition visual_deck_storage_widget.h:80
QTimer * refreshTimer
Coalesces the re-apply/refresh burst following a batch of deck loads.
Definition visual_deck_storage_widget.h:88
VisualDeckStorageSortWidget * sortWidget
Definition visual_deck_storage_widget.h:79
void updateShowFolders(bool enabled)
Definition visual_deck_storage_widget.cpp:197
QScrollArea * scrollArea
Definition visual_deck_storage_widget.h:84
void updateTagsVisibility(bool visible)
Definition visual_deck_storage_widget.cpp:236
void deckLoadRequested(const QString &filePath)
VisualDeckStorageFolderDisplayWidget * folderWidget
Definition visual_deck_storage_widget.h:85
VisualDeckStorageSortFilterProxyModel * proxyModel() const
Definition visual_deck_storage_widget.h:45
VisualDeckStorageWidget(QWidget *parent)
Definition visual_deck_storage_widget.cpp:20
VisualDeckStorageSortFilterProxyModel * storageProxyModel
Definition visual_deck_storage_widget.h:87
void updateSelectionAnimationEnabled(bool enabled)
Definition visual_deck_storage_widget.cpp:246
void updateTagFilter()
Definition visual_deck_storage_widget.cpp:209
DeckPreviewColorIdentityFilterWidget * deckPreviewColorIdentityFilterWidget
Definition visual_deck_storage_widget.h:81
QWidget * searchAndSortContainer
Definition visual_deck_storage_widget.h:76
Represents a deck that was loaded from somewhere. Contains the DeckList itself, as well as info about...
Definition loaded_deck.h:14
Source model for the Visual Deck Storage: the deck files on disk.
Sorting and filtering proxy on top of VisualDeckStorageModel.