mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-18 16:32:16 -07:00
Address comments.
This commit is contained in:
parent
c029bbf90d
commit
9581044e3b
7 changed files with 38 additions and 19 deletions
|
|
@ -21,11 +21,10 @@ VisualDatabaseDisplayFilterSaveLoadWidget::VisualDatabaseDisplayFilterSaveLoadWi
|
||||||
|
|
||||||
// Input for filter filename
|
// Input for filter filename
|
||||||
filenameInput = new QLineEdit(this);
|
filenameInput = new QLineEdit(this);
|
||||||
filenameInput->setPlaceholderText(tr("Enter filename..."));
|
|
||||||
layout->addWidget(filenameInput);
|
layout->addWidget(filenameInput);
|
||||||
|
|
||||||
// Save button
|
// Save button
|
||||||
saveButton = new QPushButton(tr("Save Filter"), this);
|
saveButton = new QPushButton(this);
|
||||||
layout->addWidget(saveButton);
|
layout->addWidget(saveButton);
|
||||||
connect(saveButton, &QPushButton::clicked, this, &VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter);
|
connect(saveButton, &QPushButton::clicked, this, &VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter);
|
||||||
|
|
||||||
|
|
@ -34,6 +33,13 @@ VisualDatabaseDisplayFilterSaveLoadWidget::VisualDatabaseDisplayFilterSaveLoadWi
|
||||||
layout->addWidget(fileListWidget);
|
layout->addWidget(fileListWidget);
|
||||||
|
|
||||||
refreshFilterList(); // Populate the file list on startup
|
refreshFilterList(); // Populate the file list on startup
|
||||||
|
retranslateUi();
|
||||||
|
}
|
||||||
|
|
||||||
|
void VisualDatabaseDisplayFilterSaveLoadWidget::retranslateUi()
|
||||||
|
{
|
||||||
|
saveButton->setText(tr("Save Filter"));
|
||||||
|
filenameInput->setPlaceholderText(tr("Enter filename..."));
|
||||||
}
|
}
|
||||||
|
|
||||||
void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter()
|
void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter()
|
||||||
|
|
@ -67,7 +73,7 @@ void VisualDatabaseDisplayFilterSaveLoadWidget::saveFilter()
|
||||||
|
|
||||||
void VisualDatabaseDisplayFilterSaveLoadWidget::loadFilter(const QString &filename)
|
void VisualDatabaseDisplayFilterSaveLoadWidget::loadFilter(const QString &filename)
|
||||||
{
|
{
|
||||||
QString filePath = SettingsCache::instance().getFiltersPath() + "/" + filename;
|
QString filePath = SettingsCache::instance().getFiltersPath() + QDir::separator() + filename;
|
||||||
|
|
||||||
QFile file(filePath);
|
QFile file(filePath);
|
||||||
if (!file.open(QIODevice::ReadOnly))
|
if (!file.open(QIODevice::ReadOnly))
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,9 @@ public:
|
||||||
void refreshFilterList();
|
void refreshFilterList();
|
||||||
void deleteFilter(const QString &filename, QPushButton *deleteButton);
|
void deleteFilter(const QString &filename, QPushButton *deleteButton);
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void retranslateUi();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
FilterTreeModel *filterModel;
|
FilterTreeModel *filterModel;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@ VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWi
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
||||||
searchBox = new QLineEdit(this);
|
searchBox = new QLineEdit(this);
|
||||||
searchBox->setPlaceholderText(tr("Filter by name..."));
|
|
||||||
layout->addWidget(searchBox);
|
layout->addWidget(searchBox);
|
||||||
|
|
||||||
connect(searchBox, &QLineEdit::returnPressed, this, [this]() {
|
connect(searchBox, &QLineEdit::returnPressed, this, [this]() {
|
||||||
|
|
@ -33,21 +32,28 @@ VisualDatabaseDisplayNameFilterWidget::VisualDatabaseDisplayNameFilterWidget(QWi
|
||||||
layout->addWidget(flowWidget);
|
layout->addWidget(flowWidget);
|
||||||
|
|
||||||
loadFromDeckButton = new QPushButton(this);
|
loadFromDeckButton = new QPushButton(this);
|
||||||
loadFromDeckButton->setText(tr("Load from Deck"));
|
|
||||||
layout->addWidget(loadFromDeckButton);
|
layout->addWidget(loadFromDeckButton);
|
||||||
|
|
||||||
connect(loadFromDeckButton, &QPushButton::clicked, this, &VisualDatabaseDisplayNameFilterWidget::actLoadFromDeck);
|
connect(loadFromDeckButton, &QPushButton::clicked, this, &VisualDatabaseDisplayNameFilterWidget::actLoadFromDeck);
|
||||||
connect(filterModel, &FilterTreeModel::layoutChanged, this,
|
connect(filterModel, &FilterTreeModel::layoutChanged, this,
|
||||||
[this]() { QTimer::singleShot(100, this, &VisualDatabaseDisplayNameFilterWidget::syncWithFilterModel); });
|
[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()
|
void VisualDatabaseDisplayNameFilterWidget::actLoadFromDeck()
|
||||||
{
|
{
|
||||||
DeckListModel *deck_list_model = deckEditor->deckDockWidget->deckModel;
|
DeckListModel *deckListModel = deckEditor->deckDockWidget->deckModel;
|
||||||
|
|
||||||
if (!deck_list_model)
|
if (!deckListModel)
|
||||||
return;
|
return;
|
||||||
DeckList *decklist = deck_list_model->getDeckList();
|
DeckList *decklist = deckListModel->getDeckList();
|
||||||
if (!decklist)
|
if (!decklist)
|
||||||
return;
|
return;
|
||||||
InnerDecklistNode *listRoot = decklist->getRoot();
|
InnerDecklistNode *listRoot = decklist->getRoot();
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,9 @@ public:
|
||||||
void updateFilterModel();
|
void updateFilterModel();
|
||||||
void syncWithFilterModel();
|
void syncWithFilterModel();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void retranslateUi();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
AbstractTabDeckEditor *deckEditor;
|
AbstractTabDeckEditor *deckEditor;
|
||||||
FilterTreeModel *filterModel;
|
FilterTreeModel *filterModel;
|
||||||
|
|
|
||||||
|
|
@ -80,13 +80,14 @@ void VisualDatabaseDisplaySetFilterWidget::updateSetButtonsVisibility()
|
||||||
{
|
{
|
||||||
QString filterText = searchBox->text().trimmed().toLower();
|
QString filterText = searchBox->text().trimmed().toLower();
|
||||||
|
|
||||||
for (auto it = setButtons.begin(); it != setButtons.end(); ++it) {
|
for (const QString &setName : setButtons.keys()) {
|
||||||
QString shortName = it.key().toLower();
|
QPushButton *buttonForSet = setButtons[setName];
|
||||||
QString longName = it.value()->text().toLower();
|
QString shortName = setName.toLower();
|
||||||
bool alwaysVisible = activeSets.contains(it.key()) && activeSets[it.key()];
|
QString longName = buttonForSet->text().toLower();
|
||||||
|
bool alwaysVisible = activeSets.contains(setName) && activeSets[setName];
|
||||||
bool visible =
|
bool visible =
|
||||||
alwaysVisible || filterText.isEmpty() || shortName.contains(filterText) || longName.contains(filterText);
|
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
|
// Sync button states with selected sets
|
||||||
for (auto it = setButtons.begin(); it != setButtons.end(); ++it) {
|
for (const auto &key : setButtons.keys()) {
|
||||||
bool active = selectedSets.contains(it.key());
|
bool active = selectedSets.contains(key);
|
||||||
activeSets[it.key()] = active;
|
activeSets[key] = active;
|
||||||
it.value()->setChecked(active);
|
setButtons[key]->setChecked(active);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,7 @@ void VisualDatabaseDisplayWidget::loadNextPage()
|
||||||
if (CardInfoPtr info = CardDatabaseManager::getInstance()->getCard(name.toString())) {
|
if (CardInfoPtr info = CardDatabaseManager::getInstance()->getCard(name.toString())) {
|
||||||
addCard(info);
|
addCard(info);
|
||||||
} else {
|
} else {
|
||||||
qCDebug(VisualDatabaseDisplayLog) << "Card not found in database!";
|
qCDebug(VisualDatabaseDisplayLog) << "Card " << name.toString() << " not found in database!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ private:
|
||||||
QTimer *debounceTimer;
|
QTimer *debounceTimer;
|
||||||
QTimer *loadCardsTimer;
|
QTimer *loadCardsTimer;
|
||||||
|
|
||||||
int debounceTime = 300;
|
int debounceTime = 300; // in Ms
|
||||||
int currentPage = 0; // Current page index
|
int currentPage = 0; // Current page index
|
||||||
int cardsPerPage = 100; // Number of cards per page
|
int cardsPerPage = 100; // Number of cards per page
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue