[CardDatabaseDisplay] Reduce width by using icons

This commit is contained in:
RickyRister 2026-02-06 19:24:21 -08:00
parent f0da3cff40
commit 25ea1f3042
4 changed files with 51 additions and 18 deletions

View file

@ -24,6 +24,7 @@
<file>resources/icons/dragon.svg</file> <file>resources/icons/dragon.svg</file>
<file>resources/icons/dropdown_collapsed.svg</file> <file>resources/icons/dropdown_collapsed.svg</file>
<file>resources/icons/dropdown_expanded.svg</file> <file>resources/icons/dropdown_expanded.svg</file>
<file>resources/icons/filter.svg</file>
<file>resources/icons/floppy_disk.svg</file> <file>resources/icons/floppy_disk.svg</file>
<file>resources/icons/forgot_password.svg</file> <file>resources/icons/forgot_password.svg</file>
<file>resources/icons/gear.svg</file> <file>resources/icons/gear.svg</file>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="24" height="24"/>
<path fill-rule="evenodd" clip-rule="evenodd"
d="M2 5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V6.17157C22 6.96722 21.6839 7.73028 21.1213 8.29289L15.2929 14.1213C15.1054 14.3089 15 14.5632 15 14.8284V17.1716C15 17.9672 14.6839 18.7303 14.1213 19.2929L11.9193 21.4949C10.842 22.5722 9 21.8092 9 20.2857V14.8284C9 14.5632 8.89464 14.3089 8.70711 14.1213L2.87868 8.29289C2.31607 7.73028 2 6.96722 2 6.17157V5Z"
fill="#222326"/>
</svg>

After

Width:  |  Height:  |  Size: 715 B

View file

@ -2,11 +2,14 @@
#include "visual_database_display_widget.h" #include "visual_database_display_widget.h"
#include <QGroupBox>
VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *_parent) VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidget(VisualDatabaseDisplayWidget *_parent)
: QWidget(_parent), visualDatabaseDisplay(_parent) : QWidget(_parent), visualDatabaseDisplay(_parent)
{ {
filterContainerLayout = new QHBoxLayout(this); filterContainerLayout = new QHBoxLayout(this);
filterContainerLayout->setContentsMargins(11, 0, 11, 0); filterContainerLayout->setContentsMargins(11, 0, 11, 0);
filterContainerLayout->setSpacing(2);
setLayout(filterContainerLayout); setLayout(filterContainerLayout);
filterContainerLayout->setAlignment(Qt::AlignLeft); filterContainerLayout->setAlignment(Qt::AlignLeft);
@ -15,9 +18,17 @@ VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidg
connect(this, &VisualDatabaseDisplayFilterToolbarWidget::searchModelChanged, visualDatabaseDisplay, connect(this, &VisualDatabaseDisplayFilterToolbarWidget::searchModelChanged, visualDatabaseDisplay,
&VisualDatabaseDisplayWidget::onSearchModelChanged); &VisualDatabaseDisplayWidget::onSearchModelChanged);
filterByLabel = new QLabel(this); sortGroupBox = new QGroupBox(this);
filterGroupBox = new QGroupBox(this);
auto scalePixmap = [](const QString &fileName) { return QIcon(QPixmap(fileName)).pixmap({20, 20}); };
sortByLabel = new QLabel(this); sortByLabel = new QLabel(this);
sortByLabel->setPixmap(scalePixmap("theme:icons/sort_arrow_down"));
filterByLabel = new QLabel(this);
filterByLabel->setPixmap(scalePixmap("theme:icons/filter"));
sortColumnCombo = new QComboBox(this); sortColumnCombo = new QComboBox(this);
sortColumnCombo->setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy::AdjustToContents); sortColumnCombo->setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy::AdjustToContents);
sortOrderCombo = new QComboBox(this); sortOrderCombo = new QComboBox(this);
@ -76,14 +87,20 @@ VisualDatabaseDisplayFilterToolbarWidget::VisualDatabaseDisplayFilterToolbarWidg
void VisualDatabaseDisplayFilterToolbarWidget::initialize() void VisualDatabaseDisplayFilterToolbarWidget::initialize()
{ {
sortByLabel->setVisible(true); // create groupbox layouts
filterByLabel->setVisible(true); auto sortLayout = new QHBoxLayout(this);
sortLayout->setContentsMargins(0, 0, 0, 0);
sortLayout->setSpacing(0);
sortGroupBox->setLayout(sortLayout);
sortLayout->setAlignment(Qt::AlignLeft);
quickFilterSaveLoadWidget->setVisible(true); auto filterLayout = new QHBoxLayout(this);
quickFilterNameWidget->setVisible(true); filterLayout->setContentsMargins(0, 0, 0, 0);
quickFilterSubTypeWidget->setVisible(true); filterLayout->setSpacing(2);
quickFilterSetWidget->setVisible(true); filterGroupBox->setLayout(filterLayout);
filterLayout->setAlignment(Qt::AlignLeft);
// create settings widgets
auto filterModel = visualDatabaseDisplay->filterModel; auto filterModel = visualDatabaseDisplay->filterModel;
saveLoadWidget = new VisualDatabaseDisplayFilterSaveLoadWidget(this, filterModel); saveLoadWidget = new VisualDatabaseDisplayFilterSaveLoadWidget(this, filterModel);
@ -101,23 +118,29 @@ void VisualDatabaseDisplayFilterToolbarWidget::initialize()
quickFilterSetWidget->addSettingsWidget(setFilterWidget); quickFilterSetWidget->addSettingsWidget(setFilterWidget);
quickFilterFormatLegalityWidget->addSettingsWidget(formatLegalityWidget); quickFilterFormatLegalityWidget->addSettingsWidget(formatLegalityWidget);
filterContainerLayout->addWidget(sortByLabel); // fill groupbox layouts
filterContainerLayout->addWidget(sortColumnCombo); sortLayout->addWidget(sortByLabel);
filterContainerLayout->addWidget(sortOrderCombo); sortLayout->addWidget(sortColumnCombo);
filterContainerLayout->addWidget(filterByLabel); sortLayout->addWidget(sortOrderCombo);
filterContainerLayout->addWidget(quickFilterNameWidget);
filterContainerLayout->addWidget(quickFilterMainTypeWidget); filterLayout->addWidget(filterByLabel);
filterContainerLayout->addWidget(quickFilterSubTypeWidget); filterLayout->addWidget(quickFilterNameWidget);
filterContainerLayout->addWidget(quickFilterSetWidget); filterLayout->addWidget(quickFilterMainTypeWidget);
filterContainerLayout->addWidget(quickFilterFormatLegalityWidget); filterLayout->addWidget(quickFilterSubTypeWidget);
filterLayout->addWidget(quickFilterSetWidget);
filterLayout->addWidget(quickFilterFormatLegalityWidget);
// put everything into main layout
filterContainerLayout->addWidget(sortGroupBox);
filterContainerLayout->addWidget(filterGroupBox);
filterContainerLayout->addStretch(); filterContainerLayout->addStretch();
filterContainerLayout->addWidget(quickFilterSaveLoadWidget); filterContainerLayout->addWidget(quickFilterSaveLoadWidget);
} }
void VisualDatabaseDisplayFilterToolbarWidget::retranslateUi() void VisualDatabaseDisplayFilterToolbarWidget::retranslateUi()
{ {
sortByLabel->setText(tr("Sort by:")); sortByLabel->setToolTip(tr("Sort by"));
filterByLabel->setText(tr("Filter by:")); filterByLabel->setToolTip(tr("Filter by"));
quickFilterSaveLoadWidget->setToolTip(tr("Save and load filters")); quickFilterSaveLoadWidget->setToolTip(tr("Save and load filters"));
quickFilterNameWidget->setToolTip(tr("Filter by exact card name")); quickFilterNameWidget->setToolTip(tr("Filter by exact card name"));

View file

@ -25,9 +25,11 @@ public:
private: private:
VisualDatabaseDisplayWidget *visualDatabaseDisplay; VisualDatabaseDisplayWidget *visualDatabaseDisplay;
QGroupBox *sortGroupBox;
QLabel *sortByLabel; QLabel *sortByLabel;
QComboBox *sortColumnCombo, *sortOrderCombo; QComboBox *sortColumnCombo, *sortOrderCombo;
QGroupBox *filterGroupBox;
QLabel *filterByLabel; QLabel *filterByLabel;
QHBoxLayout *filterContainerLayout; QHBoxLayout *filterContainerLayout;