[CardDatabaseDisplay] Reduce width by using icons (#6603)
Some checks failed
Build Docker Image / amd64 & arm64 (push) Waiting to run
Build Desktop / Configure (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, 11) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, 13) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Debian, DEB, skip, 12) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Fedora, RPM, 43) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Fedora, RPM, skip, 42) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Servatrice_Debian, DEB, yes, skip, 11) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Ubuntu, DEB, 22.04) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (Ubuntu, DEB, 24.04) (push) Has been cancelled
Build Desktop / ${{matrix.distro}} ${{matrix.version}} (yes, Arch, skip) (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (Ninja, macOS, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.10.*, macos-15, Apple, 15, Debug, 1, 16.4) (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (Windows10-installer, Visual Studio 17 2022, x64, 1, Windows, -Win10, win64_msvc2022_64, qtimageformats qtmultimedia qtwebsoc… (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (macOS13_Intel-package, Ninja, 1, macOS, 13, -macOS13_Intel, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.10.*, maco… (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (macOS14-package, Ninja, 1, macOS, -macOS14, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.10.*, macos-14, Apple, 14,… (push) Has been cancelled
Build Desktop / ${{matrix.os}} ${{matrix.target}}${{ matrix.soc == 'Intel' && ' Intel' || '' }}${{ matrix.type == 'Debug' && ' Debug' || '' }} (macOS15-package, Ninja, 1, macOS, -macOS15, clang_64, qtimageformats qtmultimedia qtwebsockets, 6.10.*, macos-15, Apple, 15,… (push) Has been cancelled

* [CardDatabaseDisplay] Reduce width by using icons

* use public domain filter svg icon
This commit is contained in:
RickyRister 2026-02-22 20:54:58 -08:00 committed by GitHub
parent 9f00c6f955
commit 2cb16c9fd0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 56 additions and 18 deletions

View File

@ -24,6 +24,7 @@
<file>resources/icons/dragon.svg</file>
<file>resources/icons/dropdown_collapsed.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/forgot_password.svg</file>
<file>resources/icons/gear.svg</file>

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg"
width="800px" height="800px" viewBox="0 0 971.986 971.986"
xml:space="preserve">
<g>
<path d="M370.216,459.3c10.2,11.1,15.8,25.6,15.8,40.6v442c0,26.601,32.1,40.101,51.1,21.4l123.3-141.3
c16.5-19.8,25.6-29.601,25.6-49.2V500c0-15,5.7-29.5,15.8-40.601L955.615,75.5c26.5-28.8,6.101-75.5-33.1-75.5h-873
c-39.2,0-59.7,46.6-33.1,75.5L370.216,459.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 676 B

View File

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

View File

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