Squeeze and flow even more.

Took 11 minutes
This commit is contained in:
Lukas Brübach 2026-05-14 15:00:02 +02:00
parent e174dc397f
commit 5e00d9363d
5 changed files with 18 additions and 25 deletions

View file

@ -17,7 +17,7 @@
inline Q_LOGGING_CATEGORY(FlowWidgetLog, "flow_widget", QtInfoMsg); inline Q_LOGGING_CATEGORY(FlowWidgetLog, "flow_widget", QtInfoMsg);
inline Q_LOGGING_CATEGORY(FlowWidgetSizeLog, "flow_widget.size", QtInfoMsg); inline Q_LOGGING_CATEGORY(FlowWidgetSizeLog, "flow_widget.size", QtInfoMsg);
class FlowWidget final : public QWidget class FlowWidget : public QWidget
{ {
Q_OBJECT Q_OBJECT

View file

@ -5,16 +5,9 @@
#include <QGroupBox> #include <QGroupBox>
VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *_parent) VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *_parent)
: QWidget(_parent), visualDatabaseDisplay(_parent) : FlowWidget(_parent, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff),
visualDatabaseDisplay(_parent)
{ {
filterContainerLayout = new QHBoxLayout(this);
filterContainerLayout->setContentsMargins(11, 0, 11, 0);
filterContainerLayout->setSpacing(2);
setLayout(filterContainerLayout);
filterContainerLayout->setAlignment(Qt::AlignLeft);
setMaximumHeight(80);
connect(this, &VisualDatabaseDisplayFilterToolbarWidget::searchModelChanged, visualDatabaseDisplay, connect(this, &VisualDatabaseDisplayFilterToolbarWidget::searchModelChanged, visualDatabaseDisplay,
&VisualDatabaseDisplayWidget::onSearchModelChanged); &VisualDatabaseDisplayWidget::onSearchModelChanged);
@ -131,10 +124,14 @@ void VisualDatabaseDisplayFilterToolbarWidget::initialize()
filterLayout->addWidget(quickFilterFormatLegalityWidget); filterLayout->addWidget(quickFilterFormatLegalityWidget);
// put everything into main layout // put everything into main layout
filterContainerLayout->addWidget(sortGroupBox); addWidget(sortGroupBox);
filterContainerLayout->addWidget(filterGroupBox); addWidget(filterGroupBox);
filterContainerLayout->addStretch(); auto *spacer = new QWidget(this);
filterContainerLayout->addWidget(quickFilterSaveLoadWidget); spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
spacer->setAttribute(Qt::WA_TransparentForMouseEvents);
addWidget(spacer);
addWidget(quickFilterSaveLoadWidget);
addWidget(quickFilterSaveLoadWidget);
// Force a layout pass so sizeHint() is accurate // Force a layout pass so sizeHint() is accurate
layout()->activate(); layout()->activate();

View file

@ -10,7 +10,7 @@
class VisualDatabaseDisplayWidget; class VisualDatabaseDisplayWidget;
class VisualDatabaseDisplayFilterToolbarWidget : public QWidget class VisualDatabaseDisplayFilterToolbarWidget : public FlowWidget
{ {
Q_OBJECT Q_OBJECT
@ -32,7 +32,6 @@ private:
QGroupBox *filterGroupBox; QGroupBox *filterGroupBox;
QLabel *filterByLabel; QLabel *filterByLabel;
QHBoxLayout *filterContainerLayout;
SettingsButtonWidget *quickFilterSaveLoadWidget; SettingsButtonWidget *quickFilterSaveLoadWidget;
VisualDatabaseDisplayFilterSaveLoadWidget *saveLoadWidget; VisualDatabaseDisplayFilterSaveLoadWidget *saveLoadWidget;
SettingsButtonWidget *quickFilterNameWidget; SettingsButtonWidget *quickFilterNameWidget;

View file

@ -51,9 +51,7 @@ VisualDatabaseDisplayWidget::VisualDatabaseDisplayWidget(QWidget *parent,
connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, &SettingsCache::instance(), connect(cardSizeWidget, &CardSizeWidget::cardSizeSettingUpdated, &SettingsCache::instance(),
&SettingsCache::setVisualDatabaseDisplayCardSize); &SettingsCache::setVisualDatabaseDisplayCardSize);
searchContainer = new QWidget(this); searchContainer = new FlowWidget(this, Qt::Horizontal, Qt::ScrollBarAlwaysOff, Qt::ScrollBarAlwaysOff);
searchLayout = new QHBoxLayout(searchContainer);
searchContainer->setLayout(searchLayout);
searchEdit = new SearchLineEdit(); searchEdit = new SearchLineEdit();
searchEdit->setObjectName("searchEdit"); searchEdit->setObjectName("searchEdit");
@ -152,10 +150,10 @@ void VisualDatabaseDisplayWidget::initialize()
filterContainer->initialize(); filterContainer->initialize();
filterContainer->setVisible(true); filterContainer->setVisible(true);
searchLayout->addWidget(colorFilterWidget); searchContainer->addWidget(colorFilterWidget);
searchLayout->addWidget(clearFilterWidget); searchContainer->addWidget(clearFilterWidget);
searchLayout->addWidget(searchEdit); searchContainer->addWidget(searchEdit);
searchLayout->addWidget(displayModeButton); searchContainer->addWidget(displayModeButton);
mainLayout->addWidget(searchContainer); mainLayout->addWidget(searchContainer);

View file

@ -91,8 +91,7 @@ protected slots:
void onDisplayModeChanged(bool checked); void onDisplayModeChanged(bool checked);
private: private:
QWidget *searchContainer; FlowWidget *searchContainer;
QHBoxLayout *searchLayout;
SearchLineEdit *searchEdit; SearchLineEdit *searchEdit;
QPushButton *displayModeButton; QPushButton *displayModeButton;
FilterTreeModel *filterModel; FilterTreeModel *filterModel;