Add icons and search help, proper variables for quick filter widgets.

This commit is contained in:
Lukas Brübach 2025-03-02 11:49:57 +01:00
parent b206b3e450
commit 14d916e0f5
3 changed files with 37 additions and 27 deletions

View file

@ -22,6 +22,7 @@ public:
CardDatabaseDisplayModel *databaseDisplayModel;
public slots:
void showSearchSyntaxHelp();
CardInfoPtr currentCardInfo() const;
void setFilterTree(FilterTree *filterTree);
void clearAllDatabaseFilters();
@ -42,7 +43,6 @@ private:
QWidget *centralWidget;
private slots:
void showSearchSyntaxHelp();
void retranslateUi();
void updateSearch(const QString &search);
void updateCard(const QModelIndex &current, const QModelIndex &);

View file

@ -6,6 +6,7 @@
#include "../../../../game/filters/filter_tree_model.h"
#include "../../../../settings/cache_settings.h"
#include "../../../../utility/card_info_comparator.h"
#include "../../pixel_map_generator.h"
#include "../cards/card_info_picture_with_text_overlay_widget.h"
#include "../quick_settings/settings_button_widget.h"
#include "visual_database_display_color_filter_widget.h"
@ -36,8 +37,6 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
mainLayout = new QVBoxLayout(this);
setLayout(mainLayout);
auto quickFilterWidget = new SettingsButtonWidget(this);
searchContainer = new QWidget(this);
searchLayout = new QHBoxLayout(searchContainer);
searchContainer->setLayout(searchLayout);
@ -46,8 +45,8 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
searchEdit->setObjectName("searchEdit");
searchEdit->setPlaceholderText(tr("Search by card name (or search expressions)"));
searchEdit->setClearButtonEnabled(true);
// searchEdit->addAction(loadColorAdjustedPixmap("theme:icons/search"), QLineEdit::LeadingPosition);
// auto help = searchEdit->addAction(QPixmap("theme:icons/info"), QLineEdit::TrailingPosition);
searchEdit->addAction(loadColorAdjustedPixmap("theme:icons/search"), QLineEdit::LeadingPosition);
auto help = searchEdit->addAction(QPixmap("theme:icons/info"), QLineEdit::TrailingPosition);
searchEdit->installEventFilter(&searchKeySignals);
setFocusProxy(searchEdit);
@ -57,24 +56,6 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
filterModel->setObjectName("filterModel");
databaseDisplayModel->setFilterTree(filterModel->filterTree());
auto saveLoadWidget =
new VisualDatabaseDisplayFilterSaveLoadWidget(this, filterModel, "/home/ascor/Cockatrice_presets/");
quickFilterWidget->addSettingsWidget(saveLoadWidget);
auto nameFilterWidget = new VisualDatabaseDisplayNameFilterWidget(this, deckEditor, filterModel);
quickFilterWidget->addSettingsWidget(nameFilterWidget);
auto mainTypeFilterWidget = new VisualDatabaseDisplayMainTypeFilterWidget(this, filterModel);
quickFilterWidget->addSettingsWidget(mainTypeFilterWidget);
auto subTypeFilterWidget = new VisualDatabaseDisplaySubTypeFilterWidget(this, filterModel);
quickFilterWidget->addSettingsWidget(subTypeFilterWidget);
auto setFilterWidget = new VisualDatabaseDisplaySetFilterWidget(this, filterModel);
quickFilterWidget->addSettingsWidget(setFilterWidget);
colorFilterWidget = new VisualDatabaseDisplayColorFilterWidget(this, filterModel);
connect(filterModel, &FilterTreeModel::layoutChanged, this, &VisualDatabaseDisplayWidget::searchModelChanged);
searchKeySignals.setObjectName("searchKeySignals");
@ -87,7 +68,8 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
connect(&searchKeySignals, SIGNAL(onCtrlAltEnter()), this, SLOT(actAddCardToSideboard()));
connect(&searchKeySignals, SIGNAL(onCtrlEnter()), this, SLOT(actAddCardToSideboard()));
connect(&searchKeySignals, SIGNAL(onCtrlC()), this, SLOT(copyDatabaseCellContents()));*/
// connect(help, &QAction::triggered, this, &DeckEditorDatabaseDisplayWidget::showSearchSyntaxHelp);
connect(help, &QAction::triggered, deckEditor->databaseDisplayDockWidget,
&DeckEditorDatabaseDisplayWidget::showSearchSyntaxHelp);
/*databaseModel = new CardDatabaseModel(CardDatabaseManager::getInstance(), true, this);
databaseModel->setObjectName("databaseModel");
@ -112,6 +94,23 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
searchEdit->setTreeView(databaseView);
colorFilterWidget = new VisualDatabaseDisplayColorFilterWidget(this, filterModel);
quickFilterWidget = new SettingsButtonWidget(this);
saveLoadWidget =
new VisualDatabaseDisplayFilterSaveLoadWidget(this, filterModel, "/home/ascor/Cockatrice_presets/");
nameFilterWidget = new VisualDatabaseDisplayNameFilterWidget(this, deckEditor, filterModel);
mainTypeFilterWidget = new VisualDatabaseDisplayMainTypeFilterWidget(this, filterModel);
subTypeFilterWidget = new VisualDatabaseDisplaySubTypeFilterWidget(this, filterModel);
setFilterWidget = new VisualDatabaseDisplaySetFilterWidget(this, filterModel);
quickFilterWidget->addSettingsWidget(saveLoadWidget);
quickFilterWidget->addSettingsWidget(nameFilterWidget);
quickFilterWidget->addSettingsWidget(mainTypeFilterWidget);
quickFilterWidget->addSettingsWidget(subTypeFilterWidget);
quickFilterWidget->addSettingsWidget(setFilterWidget);
searchLayout->addWidget(colorFilterWidget);
searchLayout->addWidget(quickFilterWidget);
searchLayout->addWidget(searchEdit);

View file

@ -14,6 +14,11 @@
#include "../general/layout_containers/flow_widget.h"
#include "../general/layout_containers/overlap_control_widget.h"
#include "visual_database_display_color_filter_widget.h"
#include "visual_database_display_filter_save_load_widget.h"
#include "visual_database_display_main_type_filter_widget.h"
#include "visual_database_display_name_filter_widget.h"
#include "visual_database_display_set_filter_widget.h"
#include "visual_database_display_sub_type_filter_widget.h"
#include <QLoggingCategory>
#include <QTreeView>
@ -64,6 +69,12 @@ protected slots:
void updateSearch(const QString &search);
private:
SettingsButtonWidget *quickFilterWidget;
VisualDatabaseDisplayFilterSaveLoadWidget *saveLoadWidget;
VisualDatabaseDisplayNameFilterWidget *nameFilterWidget;
VisualDatabaseDisplayMainTypeFilterWidget *mainTypeFilterWidget;
VisualDatabaseDisplaySubTypeFilterWidget *subTypeFilterWidget;
VisualDatabaseDisplaySetFilterWidget *setFilterWidget;
KeySignals searchKeySignals;
AbstractTabDeckEditor *deckEditor;
CardDatabaseModel *databaseModel;
@ -73,9 +84,9 @@ private:
QVBoxLayout *mainLayout;
QScrollArea *scrollArea;
FlowWidget *flowWidget;
QWidget *overlap_categories;
QVBoxLayout *overlap_categories_layout;
OverlapControlWidget *overlap_control_widget;
QWidget *overlapCategories;
QVBoxLayout *overlapCategoriesLayout;
OverlapControlWidget *overlapControlWidget;
CardSizeWidget *cardSizeWidget;
QWidget *container;
QTimer *debounceTimer;