From 238a6266d6ac20c5f9e5884b337ce64cc245a3d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sun, 12 Jan 2025 20:00:03 +0100 Subject: [PATCH] Lint some stuff. --- ...k_preview_color_identity_filter_widget.cpp | 16 ++++++++-- ...eck_preview_color_identity_filter_widget.h | 1 + .../visual_deck_storage_sort_widget.cpp | 30 +++++++++++++++---- .../visual_deck_storage_sort_widget.h | 1 + common/decklist.cpp | 4 +-- 5 files changed, 41 insertions(+), 11 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.cpp index b3428cc08..dc2bf14e1 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.cpp @@ -103,8 +103,9 @@ DeckPreviewColorIdentityFilterWidget::DeckPreviewColorIdentityFilterWidget(Visua connect(circle, &DeckPreviewColorIdentityFilterCircleWidget::colorToggled, this, &DeckPreviewColorIdentityFilterWidget::handleColorToggled); } - toggleButton = new QPushButton("Mode: Includes", this); - toggleButton->setCheckable(true); // Enable checkable state + + toggleButton = new QPushButton(this); + toggleButton->setCheckable(true); layout->addWidget(toggleButton); // Connect the button's toggled signal @@ -113,6 +114,15 @@ DeckPreviewColorIdentityFilterWidget::DeckPreviewColorIdentityFilterWidget(Visua &VisualDeckStorageWidget::refreshBannerCards); connect(this, &DeckPreviewColorIdentityFilterWidget::filterModeChanged, parent, &VisualDeckStorageWidget::refreshBannerCards); + + // Call retranslateUi to set the initial text + retranslateUi(); +} + +void DeckPreviewColorIdentityFilterWidget::retranslateUi() +{ + // Set the toggle button text based on the current mode + toggleButton->setText(exactMatchMode ? tr("Mode: Exact Match") : tr("Mode: Includes")); } void DeckPreviewColorIdentityFilterWidget::handleColorToggled(QChar color, bool active) @@ -124,7 +134,7 @@ void DeckPreviewColorIdentityFilterWidget::handleColorToggled(QChar color, bool void DeckPreviewColorIdentityFilterWidget::updateFilterMode(bool checked) { exactMatchMode = checked; // Toggle between modes - toggleButton->setText(checked ? "Mode: Exact Match" : "Mode: Includes"); + retranslateUi(); // Update the button text emit filterModeChanged(exactMatchMode); } diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.h index ccae866be..e18bf8860 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_color_identity_filter_widget.h @@ -41,6 +41,7 @@ class DeckPreviewColorIdentityFilterWidget : public QWidget public: explicit DeckPreviewColorIdentityFilterWidget(VisualDeckStorageWidget *parent); + void retranslateUi(); QList filterWidgets(QList &widgets); signals: diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp index b1b59a0ef..f794f3016 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.cpp @@ -16,12 +16,11 @@ VisualDeckStorageSortWidget::VisualDeckStorageSortWidget(VisualDeckStorageWidget layout = new QHBoxLayout(this); setLayout(layout); - // ComboBox for sorting options + // Initialize the ComboBox sortComboBox = new QComboBox(this); - sortComboBox->addItem("Sort Alphabetically (Deck Name)", ByName); - sortComboBox->addItem("Sort Alphabetically (Filename)", Alphabetical); - sortComboBox->addItem("Sort by Last Modified", ByLastModified); - sortComboBox->addItem("Sort by Last Loaded", ByLastLoaded); + layout->addWidget(sortComboBox); + + // Set the current sort order sortComboBox->setCurrentIndex(SettingsCache::instance().getVisualDeckStorageSortingOrder()); // Connect sorting change signal to refresh the file list @@ -29,7 +28,26 @@ VisualDeckStorageSortWidget::VisualDeckStorageSortWidget(VisualDeckStorageWidget &VisualDeckStorageSortWidget::updateSortOrder); connect(this, &VisualDeckStorageSortWidget::sortOrderChanged, parent, &VisualDeckStorageWidget::updateSortOrder); - layout->addWidget(sortComboBox); + retranslateUi(); +} + +void VisualDeckStorageSortWidget::retranslateUi() +{ + // Block signals to avoid triggering unnecessary updates while changing text + sortComboBox->blockSignals(true); + + // Clear and repopulate the ComboBox with translated items + sortComboBox->clear(); + sortComboBox->addItem(tr("Sort Alphabetically (Deck Name)"), ByName); + sortComboBox->addItem(tr("Sort Alphabetically (Filename)"), Alphabetical); + sortComboBox->addItem(tr("Sort by Last Modified"), ByLastModified); + sortComboBox->addItem(tr("Sort by Last Loaded"), ByLastLoaded); + + // Restore the current index + sortComboBox->setCurrentIndex(SettingsCache::instance().getVisualDeckStorageSortingOrder()); + + // Re-enable signals + sortComboBox->blockSignals(false); } void VisualDeckStorageSortWidget::showEvent(QShowEvent *event) diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.h index e68add580..25dccdca7 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/visual_deck_storage_sort_widget.h @@ -14,6 +14,7 @@ class VisualDeckStorageSortWidget : public QWidget public: explicit VisualDeckStorageSortWidget(VisualDeckStorageWidget *parent); + void retranslateUi(); void updateSortOrder(); QString getSearchText(); QList &filterFiles(QList &widgets); diff --git a/common/decklist.cpp b/common/decklist.cpp index 0b8532d7a..164ccdfc6 100644 --- a/common/decklist.cpp +++ b/common/decklist.cpp @@ -432,8 +432,8 @@ bool DeckList::readElement(QXmlStreamReader *xml) bannerCard = QPair(cardName, providerId); } else if (childName == "tags") { tags.clear(); // Clear existing tags - while (!(xml->isEndElement() && childName == "tags")) { - if (xml->readNextStartElement() && childName == "tag") { + while (xml->readNextStartElement()) { + if (xml->name().toString() == "tag") { tags.append(xml->readElementText()); } }