Address comments.

This commit is contained in:
Lukas Brübach 2025-04-11 11:21:52 +02:00
parent c029bbf90d
commit 9581044e3b
7 changed files with 38 additions and 19 deletions

View file

@ -21,11 +21,10 @@ VisualDatabaseDisplayFilterSaveLoadWidget::VisualDatabaseDisplayFilterSaveLoadWi
// Input for filter filename
filenameInput = new QLineEdit(this);
filenameInput->setPlaceholderText(tr("Enter filename..."));
layout->addWidget(filenameInput);
// Save button
saveButton = new QPushButton(tr("Save Filter"), this);
saveButton = new QPushButton(this);
layout->addWidget(saveButton);
connect(saveButton, &QPushButton::clicked, this, &VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter);
@ -34,6 +33,13 @@ VisualDatabaseDisplayFilterSaveLoadWidget::VisualDatabaseDisplayFilterSaveLoadWi
layout->addWidget(fileListWidget);
refreshFilterList(); // Populate the file list on startup
retranslateUi();
}
void VisualDatabaseDisplayFilterSaveLoadWidget::retranslateUi()
{
saveButton->setText(tr("Save Filter"));
filenameInput->setPlaceholderText(tr("Enter filename..."));
}
void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter()
@ -67,7 +73,7 @@ void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter()
void VisualDatabaseDisplayFilterSaveLoadWidget::loadFilter(const QString &filename)
{
QString filePath = SettingsCache::instance().getFiltersPath() + "/" + filename;
QString filePath = SettingsCache::instance().getFiltersPath() + QDir::separator() + filename;
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly))

View file

@ -26,6 +26,9 @@ public:
void refreshFilterList();
void deleteFilter(const QString &filename, QPushButton *deleteButton);
public slots:
void retranslateUi();
private:
FilterTreeModel *filterModel;

View file

@ -16,7 +16,6 @@ VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWi
setLayout(layout);
searchBox = new QLineEdit(this);
searchBox->setPlaceholderText(tr("Filter by name..."));
layout->addWidget(searchBox);
connect(searchBox, &QLineEdit::returnPressed, this, [this]() {
@ -33,21 +32,28 @@ VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWi
layout->addWidget(flowWidget);
loadFromDeckButton = new QPushButton(this);
loadFromDeckButton->setText(tr("Load from Deck"));
layout->addWidget(loadFromDeckButton);
connect(loadFromDeckButton, &QPushButton::clicked, this, &VisualDatabaseDisplayNameFilterWidget::actLoadFromDeck);
connect(filterModel, &FilterTreeModel::layoutChanged, this,
[this]() { QTimer::singleShot(100, this, &VisualDatabaseDisplayNameFilterWidget::syncWithFilterModel); });
retranslateUi();
}
void VisualDatabaseDisplayNameFilterWidget::retranslateUi()
{
searchBox->setPlaceholderText(tr("Filter by name..."));
loadFromDeckButton->setText(tr("Load from Deck"));
}
void VisualDatabaseDisplayNameFilterWidget::actLoadFromDeck()
{
DeckListModel *deck_list_model = deckEditor->deckDockWidget->deckModel;
DeckListModel *deckListModel = deckEditor->deckDockWidget->deckModel;
if (!deck_list_model)
if (!deckListModel)
return;
DeckList *decklist = deck_list_model->getDeckList();
DeckList *decklist = deckListModel->getDeckList();
if (!decklist)
return;
InnerDecklistNode *listRoot = decklist->getRoot();

View file

@ -25,6 +25,9 @@ public:
void updateFilterModel();
void syncWithFilterModel();
public slots:
void retranslateUi();
private:
AbstractTabDeckEditor *deckEditor;
FilterTreeModel *filterModel;

View file

@ -80,13 +80,14 @@ void VisualDatabaseDisplaySetFilterWidget::updateSetButtonsVisibility()
{
QString filterText = searchBox->text().trimmed().toLower();
for (auto it = setButtons.begin(); it != setButtons.end(); ++it) {
QString shortName = it.key().toLower();
QString longName = it.value()->text().toLower();
bool alwaysVisible = activeSets.contains(it.key()) && activeSets[it.key()];
for (const QString &setName : setButtons.keys()) {
QPushButton *buttonForSet = setButtons[setName];
QString shortName = setName.toLower();
QString longName = buttonForSet->text().toLower();
bool alwaysVisible = activeSets.contains(setName) && activeSets[setName];
bool visible =
alwaysVisible || filterText.isEmpty() || shortName.contains(filterText) || longName.contains(filterText);
it.value()->setVisible(visible);
buttonForSet->setVisible(visible);
}
}
@ -181,10 +182,10 @@ void VisualDatabaseDisplaySetFilterWidget::syncWithFilterModel()
}
// Sync button states with selected sets
for (auto it = setButtons.begin(); it != setButtons.end(); ++it) {
bool active = selectedSets.contains(it.key());
activeSets[it.key()] = active;
it.value()->setChecked(active);
for (const auto &key : setButtons.keys()) {
bool active = selectedSets.contains(key);
activeSets[key] = active;
setButtons[key]->setChecked(active);
}
}

View file

@ -230,7 +230,7 @@ void VisualDatabaseDisplayWidget::loadNextPage()
if (CardInfoPtr info = CardDatabaseManager::getInstance()->getCard(name.toString())) {
addCard(info);
} else {
qCDebug(VisualDatabaseDisplayLog) << "Card not found in database!";
qCDebug(VisualDatabaseDisplayLog) << "Card " << name.toString() << " not found in database!";
}
}

View file

@ -92,7 +92,7 @@ private:
QTimer *debounceTimer;
QTimer *loadCardsTimer;
int debounceTime = 300;
int debounceTime = 300; // in Ms
int currentPage = 0; // Current page index
int cardsPerPage = 100; // Number of cards per page